1
我需要使用構建在gtk上的GUI創建一個應用程序,該應用程序檢查傳入消息的socekets,並在收集時顯示統計信息,而不需要用戶輸入。 這是如何組織的?如何在gtk應用程序中執行定期作業?
我需要使用構建在gtk上的GUI創建一個應用程序,該應用程序檢查傳入消息的socekets,並在收集時顯示統計信息,而不需要用戶輸入。 這是如何組織的?如何在gtk應用程序中執行定期作業?
我知道如何使用PyGtk和PyGObject來完成它,但我從來沒有在C中做過類似的事情。不過,我向你提出了一個建議:嘗試GLib中的g_io_add_watch
function(它也是GObject的基礎)。它在Python中運行良好(並且使用BTW更實用),而Python版本僅僅是原始C函數的包裝。由於GTK +基於GObject,並且GObject廣泛使用GLib,因此您的開發環境中已經有了該功能,並且它應該可以與GTK +一起使用。
如果可能的話,我想使用定時調用,比如每隔0.2秒而不是在每個通道激活時聽(我的任務中有8個)。有沒有辦法做到這一點? – Srv19 2011-04-27 15:16:50
當然可以!實際上,使用['g_timeout_add'函數](http://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-timeout-add)會更容易。不過,我認爲這至少會降低效率。 – brandizzi 2011-04-27 15:21:03