0
我被告知唯一/最好的方法是將變量存儲在一個結構體中並傳遞結構體,但它變成了一個gpointer,我似乎無法將它變回結構體以檢索數據。如何將多個變量傳遞給gtk信號處理程序?
如果還有其他方法,我也想使用它。
我被告知唯一/最好的方法是將變量存儲在一個結構體中並傳遞結構體,但它變成了一個gpointer,我似乎無法將它變回結構體以檢索數據。如何將多個變量傳遞給gtk信號處理程序?
如果還有其他方法,我也想使用它。
在您的信號處理程序中將您的結構重新轉換回正確的類型。
MyVariables *vars = (MyVariables *)user_data;
PS。哦,是的,不要忘記分配你的結構;如果你傳遞一個局部變量,那麼當你的信號處理程序被調用時它將消失。
當我嘗試這樣的事情是說'錯誤:「MyVariables」未申報(第一次在這個函數中使用)'' – 2011-05-10 18:17:24
是MyVariables'沒有任何東西的名字,這是你的結構的類型名稱。你_did_做'typedef結構{GtkWidget *什麼; } MyVariables;',對嗎? – ptomato 2011-05-11 06:06:25
沒有'typedef',應該修復它。 – 2011-05-11 11:00:37