Python3, Gtk3, Glade, 从代码中设置标签颜色
Python3, Gtk3, Glade, set label color from code
我有一个带有灰色默认颜色标签的 Glade 文件,
我想用代码中的绿色覆盖它。
因此我在 Glade 中添加了一个样式 class:
并将其添加到我的 Python 脚本中:
但是,颜色仍然是灰色。
我做错了什么?
我做的有点不同。
在fileforcolors.css
我收录了
#resetstddata_button {
background: #00BFFF;
}
其中"resetstddata_button"是glade文件中widget的名称(打开glade编辑器,点击你要改变颜色的GtkButton,页面"common",你会看到参数输入 "Widget name",将 "resetstddata_button" 放入其中。
此按钮颜色更改的 python3 代码摘录是:
style_provider = gtk.CssProvider()
css = open('/home/fileforcolors.css',
'rb') # rb needed for python 3 support
css_data = css.read()
css.close()
style_provider.load_from_data(css_data)
gtk.StyleContext.add_provider_for_screen(gdk.Screen.get_default(), style_provider,
gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
希望对您有所帮助。
问题是,Glade 最初在其生成的 XML 文件中在样式 class 名称前加了一个点(请参阅 OP 中的屏幕截图)。
您需要编辑 Glade XML 文件并将其删除:
之后,您可以在 Glade GUI 中重复更改样式 class 名称,它不会再得到一个点。
我有一个带有灰色默认颜色标签的 Glade 文件, 我想用代码中的绿色覆盖它。
因此我在 Glade 中添加了一个样式 class:
并将其添加到我的 Python 脚本中:
但是,颜色仍然是灰色。
我做错了什么?
我做的有点不同。
在fileforcolors.css
我收录了
#resetstddata_button {
background: #00BFFF;
}
其中"resetstddata_button"是glade文件中widget的名称(打开glade编辑器,点击你要改变颜色的GtkButton,页面"common",你会看到参数输入 "Widget name",将 "resetstddata_button" 放入其中。
此按钮颜色更改的 python3 代码摘录是:
style_provider = gtk.CssProvider()
css = open('/home/fileforcolors.css',
'rb') # rb needed for python 3 support
css_data = css.read()
css.close()
style_provider.load_from_data(css_data)
gtk.StyleContext.add_provider_for_screen(gdk.Screen.get_default(), style_provider,
gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
希望对您有所帮助。
问题是,Glade 最初在其生成的 XML 文件中在样式 class 名称前加了一个点(请参阅 OP 中的屏幕截图)。
您需要编辑 Glade XML 文件并将其删除:
之后,您可以在 Glade GUI 中重复更改样式 class 名称,它不会再得到一个点。