Python 指定bg、fg的选定单选按钮中的点消失
初学者问题:我正在尝试更改GUI的颜色,特别是单选按钮。我需要倒置的颜色,所以黑色背景,白色文本Python 指定bg、fg的选定单选按钮中的点消失,python,tkinter,Python,Tkinter,初学者问题:我正在尝试更改GUI的颜色,特别是单选按钮。我需要倒置的颜色,所以黑色背景,白色文本 self.radiobuttonVariable = Tkinter.IntVar() radiobutton1 = Tkinter.Radiobutton(self, text=u'E', variable = self.radiobuttonVariable, bg='black', fg='white' activ
self.radiobuttonVariable = Tkinter.IntVar()
radiobutton1 = Tkinter.Radiobutton(self, text=u'E', variable = self.radiobuttonVariable,
bg='black', fg='white' activebackground='black', activeforeground='white',
value = 1, command = self.RadioSelect)
radiobutton1.grid(column=2, row=1, sticky='ES')
这看起来很好,但当我按下按钮时,圆点就在那里,只要我按下它,它就会消失,只要我放开它。变量不变,它保持在正确的值上,只是圆点消失了。当我删除颜色管理选项时,没有任何问题。有什么想法吗?据我所知,指定前景(可能是文本)也会设置所选的“点颜色”。您可以将元素的
selectcolor
属性设置为单选按钮的“背景”上色,以便可以看到白点
例如,在Windows中,选择color='red'
:
请注意,指示使用selectcolor
(而不仅仅是所选按钮)为所有单选按钮着色可能仅适用于Windows:
在Windows下,无论选择状态如何,此颜色都用作指示器的背景
话虽如此,我在linux的Python 2.7和3.3下也得到了同样的效果:
我只是用红色来区分小部件中受影响的selectcolor
部分,您可能需要selectcolor='black'
或稍亮一点的东西来显示凹陷selectcolor='.\2222222'
(如下所示):
self.RadioSelect做什么?不相关,现在只打印值。显示一个工作示例,以便我们可以运行它并测试它是否是平台特定的问题。谢谢,这确实有效。现在我想起来了,我应该研究一下文档。有没有一种方法可以改变所有特定类型小部件的默认颜色值,这样我就不必为GUI中的每个小部件添加选项?@zephi如果您以某种方式跟踪您的小部件(可能会在列表中附加它们的引用),您可以迭代它们并设置它们的共同属性(例如,
fg
,bg
),但是像selectcolor
这样的东西需要在相应的小部件中设置,因为不是所有的小部件都有这个属性。对于更复杂的用户界面,这是一个好主意,可能只是为每个小部件类型创建一个列表,以消除未知的选项错误。非常感谢!