glib

    2熱度

    2回答

    我在C中有一些代碼,我想用int作爲鍵和gnome散列表中的值。但如果我寫: GHashTable* table = g_hash_table_new(g_direct_hash, g_direct_equal); int tmp = 0; int value = 255; g_hash_table_insert(table, (gpointer)tmp, (gpointer) 255);

    -1熱度

    1回答

    我不能找到一種方法來轉換guint8到uint32_t的用C 我想: uint32_t *uint32_value = (uint32_t *)guint8_value; 但它說: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] uint32_t *uint32_value

    0熱度

    1回答

    我正在嘗試使用GHashTable將字符串映射到GArrays。到目前爲止,我還沒有成功。 我宣佈哈希表所示: hash_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); 而且我GArray像這樣: array = g_array_new(1, 1, sizeof(uint64_t)); 我試圖插入數

    4熱度

    1回答

    我有以下簡單的代碼。它聽取D-Bus並在創建新工作時做一些事情。爲了實現這個目標,我需要啓動GLib.MainLoop().run(),因爲我發現了多個示例。 雖然這樣做,我希望程序不斷收聽IPC總線,並在收到消息時執行某些操作。但顯然這是行不通的,因爲我的程序卡在GLib.MainLoop().run()。 如何實現讓我在同一時間收聽D-Bus和IPC的東西? #!/usr/bin/env py

    1熱度

    2回答

    我有一個Gtk.Box的子類,它包含一個GLib.Timer,它在給定時間間隔後觸發通知。我在這個類中調用了Gtk.Box上的this.destroy()方法。計時器繼續運行,即使在其父實例被銷燬後也會觸發通知。已經銷燬的這個類的所有實例都表現出這種行爲並繼續使用CPU和內存,直到進程終止。 我該如何解決這個問題?如何有效殺死實例,以及如何手動釋放內存而不是依賴vala的垃圾回收。 編輯:這裏是一

    0熱度

    1回答

    我使用Glib作爲哈希表。我需要更新密鑰的價值。有沒有一種方法沒有刪除並插入哈希表進行更新。 我發現g_hash_table_replace() gboolean g_hash_table_replace (GHashTable *hash_table, gpointer key, gpointer value); 是從鍵此更新值,如果是我怎麼可以使用

    0熱度

    1回答

    我正在寫一個使用Gtk.Menu的Vala的Gtk程序。 當鼠標右鍵單擊時,我需要使用Gtk.Menu.popup_at_pointer()來顯示菜單。 當編譯(帶--pkg gtk+-3.0),GCC給我一個錯誤: warning: implicit declaration of function ‘gtk_menu_popup_at_pointer’ [-Wimplicit-function-

    0熱度

    2回答

    我無法找到如何做到這一點 其實我只是想檢查是否ustring等於一個常量字符串的任何例子,但它並沒有 Glib::ustring somestring... if(somestring=="test") always returns true 感謝

    1熱度

    1回答

    GLib's main loop支持調度回調函數的週期性間隔,使用g_timemout_source_new及相關功能。回調將在預定的時間間隔後重復調用,直到它返回false。 我現在要修改這個過程,動態區間。回調應該能夠返回一個時間值,而不僅僅是true或false,它應該能夠返回一個應該傳遞的時間值,直到它的下一次調用。在C語言中這樣做很簡單:可以創建一個新的GSource類型,它只與disp

    2熱度

    1回答

    我正在嘗試學習vala。使用我的示例應用程序,我遇到了GLib.Menu操作的問題。 我宣佈了一個新的操作quit_action應該退出應用程序。編譯器運行時沒有任何警告或錯誤,但是當我運行應用程序時,我可以打開菜單,但項目「退出」呈灰色。 /* main.vala */ using Gtk; class mainWindow : Gtk.ApplicationWindow {