Python tkinter ttk中的ARGB行为异常

Python tkinter ttk中的ARGB行为异常,python,tkinter,colors,Python,Tkinter,Colors,我一直在尝试学习Tkinter,然后学习ttk来创建GUI。在与ttk合作时,我注意到发生了一些奇怪的事情。当我以ARGB格式给出任何颜色时,例如,“#80FFFFFF”,没有错误,但特定的小部件只是变成了一个小正方形。为什么会发生这种情况 举个例子, 将tkinter作为tk导入 从tkinter导入ttk root=tk.tk() s=ttk.Style() s、 配置('b1.TButton',后台='#FF0000') s、 配置('b2.TButton',后台='#80FFFFFF')

我一直在尝试学习Tkinter,然后学习ttk来创建GUI。在与ttk合作时,我注意到发生了一些奇怪的事情。当我以ARGB格式给出任何颜色时,例如,
“#80FFFFFF”
,没有错误,但特定的小部件只是变成了一个小正方形。为什么会发生这种情况

举个例子,

将tkinter作为tk导入
从tkinter导入ttk
root=tk.tk()
s=ttk.Style()
s、 配置('b1.TButton',后台='#FF0000')
s、 配置('b2.TButton',后台='#80FFFFFF')
b1=ttk.Button(根,style='b1.TButton')
b2=ttk.Button(根,style='b2.TButton')
b1.grid()
b2.grid()
root.mainloop()

这是该代码的结果:

Tkinter按钮不支持透明度,因此我的想法是,ARGB代码中额外的
FF
告诉颜色是透明的,这是导致问题的原因

根据我的研究,我猜测由于透明色码,按钮无法正确格式化,因此在显示按钮时会出现此问题


您可以通过向任何ARGB颜色添加FF来测试这一点,并看到相同的效果。

经过一些测试和阅读,我相信这是因为额外的
FF
告诉ARGB是透明的。鉴于Tkinter和透明度在Tkinter中是一个困难的概念(如果不是不可能的话),它可能会导致按钮以这种方式运行,因为它不知道如何显示具有透明度的按钮。是的,但Tkinter只是在您给出8的颜色字符串时给您一个错误。ttk不应该这样做吗?@PrateekDhanuka不一定。TTK是一组小部件,类似于tk小部件,但设计用于支持样式。它们不是tk小部件的复制品,因此它们处理问题的方式可能与tk小部件不同。