我正在使用glade製作我的.ui文件,然後使用GtkBuilder
我在C程序中加載了整個.ui文件,因此所有的小部件和東西都是從構建器文件本身。使用glade將用戶數據傳遞給回調函數
此前我只是從代碼本身創建小部件,因此允許我將任何類型的數據傳遞給回調函數,因爲第二個參數是一個gpointer
變量,我可以隨時創建一個指向自定義結構的指針並傳遞任何類型的數據到回調。
但現在連接到我只是用這個簡單的功能的信號:
gtk_builder_connect_signals(builder, NULL);
其中builder
是指向GtkBuilder
。
這會連接在與那些在.c文件定義的函數空地文件中提到的所有信號,而不必經過的user_data其他比小部件的任何規定(其本身可以只在空地來定義。)
任何人都可以告訴我一個解決方案,以便我可以將任何類型的數據傳遞給我的回調。我不想離開glade,因爲它節省了我很多時間,因此我不想切換到僅通過代碼創建小部件的傳統方式。
同時使用g_connect_signal()和gtk_builder_connect_signals()會有幫助。在這種情況下,哪一個先調用來覆蓋信號連接。