我用udp編寫了一個C/S應用程序,它不斷給我提供錯誤,我相信這與我使用線程的方式有關。gtk/c在一個線程中操縱GUI:奇怪的錯誤
當客戶端程序啓動時,它首先初始化一個登錄窗口並啓動一個新線程來偵聽來自服務器的響應。提交用戶名和密碼後,新線程將收到一條消息,指示是否提交了正確的信息。如果是這樣,那麼線程將初始化主GUI窗口。但它會給奇怪的錯誤:
Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0
或
python: Fatal IO error 0 (Success) on X server :0.0
我發現了一個類似的問題here,但它沒有解決。
有人說GUI只能在主線程中操作,但其他人卻說這不是真的。
我也嘗試過使用gdk_threads_enter()
和gdk_threads_enter()
約gtk_main()
和代碼,我初始化窗口在那個監聽線程。但它似乎沒有工作。
我對線程不太瞭解,因此請耐心指出我做錯了什麼地方。
謝謝。
昨天我想到了這一點,但我有另一個問題:無法弄清楚如何在textview中更改爲字體樣式。我找到fontchooser等,但不知道如何申請... – Gnijuohz 2012-07-16 16:24:22