是否可以使用透明背景配置tkinter或ttk小部件(Label
,Entry
,Text
),以便将它们放置在具有自定义背景颜色的容器中或顶部画布图形或图像?
我也在寻找一种方法来改变ttk Frame小部件的背景颜色?
我是否需要使用新的ttk Style对象来完成上述操作? (我是tkinter / ttk的新手,仍然试图绕着正确的方式做事。)
答案 0 :(得分:3)
在OSX上除了之外,你想要的是无法完成的,因为所有这些小部件都是在矩形的真实窗口上绘制的(除非你使用一些低级技巧来打破窗外的空洞)关注;不是我推荐的方法,即使我有代码 - 对于Tcl / Tk,而不是Python / Tkinter,不管怎么说 - 这样做。 OSX是例外,因为小部件(大多数)不是在真实窗口上绘制,而是使用更轻量级的系统(因为这是OSX的工作原理)。
你可以调整小部件,使边框的边界少于正常情况,如果你使用的是一种让它们保持基本正方形的样式,那就没问题。或者,如果你使用画布作为“有趣”的表面,你可以在画布上构建类似按钮的东西,这可能对你实际做的更好。
要更改Ttk框架的背景颜色,您必须为其应用样式。到目前为止,我见过的关于样式创建的最佳说明都在tkdocs style tutorial,当我想查找如何做这些事情时,我的去处。 (是的,Ttk文档应该涵盖这个,但它还没有。)