2013-11-02 61 views
3

我想爲我的應用程序中的所有小部件設置默認樣式。我發現this page並讀取有set_default_style()函數。問題是我無法在任何地方找到它。如何在pyGTK中爲小部件設置默認樣式?

在女巫包/模塊/類我可以找到這個功能? 有沒有其他方法可以避免使用gtk.Widget.set_style()方法爲每個窗口部件設置樣式?

回答

2

Widget.set_default_style()自3.0起棄用。你沒有提到你正在運行的版本,但我會繼續,並假設它是3.x.

你想要的是一個Gtk.CSSProvider(你可以從一個字符串或從一個css文件構建),並將此自定義樣式提供程序附加到樣式上下文中。類似這樣的:

style_provider = Gtk.CssProvider() 

css = """ 
GtkWindow { 
    background-color: #F00; 
} 
""" 

style_provider.load_from_data (css); 

Gtk.StyleContext.add_provider_for_screen (Gdk.Screen.get_default(), 
              style_provider, 
              Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); 

查看CSSProvider文檔以瞭解有關確切css格式的更多詳細信息。

編輯:其實你提到pygtk的標題 - 我想這意味着GTK + 2.x?在這種情況下,答案是而不是我發佈了,我真的不再記得你以前的方式了。抱歉。

相關問題