Python 3.x Python3,Gtk3,Glade,根据代码设置标签颜色
我有一个带有灰色默认颜色标签的Glade文件, 我想用代码中的绿色覆盖它 因此,我在Glade中添加了一个样式类: 并将此添加到我的Python脚本中: 但是,颜色仍为灰色Python 3.x Python3,Gtk3,Glade,根据代码设置标签颜色,python-3.x,gtk3,glade,Python 3.x,Gtk3,Glade,我有一个带有灰色默认颜色标签的Glade文件, 我想用代码中的绿色覆盖它 因此,我在Glade中添加了一个样式类: 并将此添加到我的Python脚本中: 但是,颜色仍为灰色 我做错了什么 我做的有点不同 在fileforcolors.css中 我包括 #resetstddata_button { background: #00BFFF; } 其中“resetstddata_按钮”是glade文件中小部件的名称(打开glade编辑器,单击要更改颜色的GTK按钮,页面“common”,
我做错了什么 我做的有点不同 在fileforcolors.css中 我包括
#resetstddata_button {
background: #00BFFF;
}
其中“resetstddata_按钮”是glade文件中小部件的名称(打开glade编辑器,单击要更改颜色的GTK按钮,页面“common”,您会看到参数条目“小部件名称”,将“resetstddata_按钮”放入其中)
此按钮颜色更改的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文件中的样式类名前面加了一个点(请参见OP中的屏幕截图) 您需要编辑Glade XML文件并将其删除:
之后,您可以在Glade GUI中重复更改样式类名,它不会再得到一个点。谢谢@floppy_molly,感谢您的宝贵贡献。这没什么区别,但它给我带来了另一种思路。经过一番周折,我终于找到了问题的答案。我忘记了一个重要的话题:这个按钮在一个彩色的事件框中。按钮只是半透明的,让颜色通过。self.eventbox\u exitbutton.override\u background\u color(gtk.StateFlags.NORMAL,gdk.RGBA(1,0,0,1))=我以前的答案只有答案的20%(我正在阅读一些旧代码,忘记了整个故事)。因此,创建一个eventbox。把它涂上颜色。放一个按钮在里面(玩透明),你会有一点颜色。