正如在此處的 Gtk 檔案中看到的,有一種方法可以設定小部件的視覺效果,這似乎從 gtkmm(C 包裝器)中丟失了。
在嘗試使用 gtkmm-3.0 將 Gtk 應用程式從 C 移植到 C 時,很快發現缺少 set_visual() 方法。雖然有一個get_visual()回傳小部件的視覺效果。
C 代碼如下所示:
GdkScreen *screen = gtk_widget_get_screen(widget);
GdkVisual *visual = gdk_screen_get_rgba_visual(screen);
if (visual == NULL)
visual = gdk_screen_get_system_visual(screen);
gtk_widget_set_visual(widget, visual);
有誰知道如何使用自定義設定小部件視覺效果?
uj5u.com熱心網友回復:
如果 C 包裝器沒有提供您需要的東西,您總是可以獲取一個指向底層 CGObject實體的指標并像在典型的 GTK C 應用程式中一樣使用它。看看這個方法:Gtk::Widget
GtkWidget* Gtk::Widget::gobj()
所以你可以在你的小部件上GtkWidget呼叫它,獲取一個 C 指標并gtk_widget_set_visual像你在你的問題中那樣呼叫它。請注意,此解決方案適用于所有 Gtkmm,在我看來,這是其他包裝器所沒有的非常好的功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/530464.html
