编程语言
首页 > 编程语言> > python-如何为pyGTK中的小部件设置默认样式?

python-如何为pyGTK中的小部件设置默认样式?

作者:互联网

我想为我的应用程序中的所有小部件设置默认样式.我发现this page并读取到有set_default_style()函数.问题是我在任何地方都找不到.

在女巫包/模块/类中,我可以找到此功能吗?
还有其他方法可以避免使用gtk.Widget.set_style()方法为每个小部件设置样式吗?

解决方法:

从3.0开始不推荐使用Widget.set_default_style().您没有提到您运行的是哪个版本,但我会继续假设它是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?在那种情况下,答案不是我发布的,我真的不记得您过去的方式了.抱歉.

标签:gtk,pygtk,python
来源: https://codeday.me/bug/20191122/2060679.html