8

是否可以使用透明背景配置 tkinter 或 ttk 小部件(Label, Entry, Text),以便它们可以放置在具有自定义背景颜色的容器中或画布图形或图像的顶部?

我还在寻找一种方法来更改 ttk Frame 小部件的背景颜色?

我是否需要使用新的 ttk Style 对象来完成上述操作?(我是 tkinter/ttk 的新手,并且仍在尝试以正确的方式做事)。

4

1 回答 1

3

除了在 OSX 上,您无法完成您想要的操作,因为所有这些小部件都是在矩形的真实窗口上绘制的(除非您使用一些低级技巧从相关窗口中切出孔;我不推荐这种方法,即使我'有代码——对于 Tcl/Tk,而不是 Python/Tkinter——它确实做到了)。OSX 是个例外,因为小部件(大部分)不是在真实窗口上绘制的,而是使用更轻量级的系统(因为这就是 OSX 的工作方式)。

可以调整小部件以使其边框比正常边框少,如果您使用的样式使它们基本保持方形,这没问题。或者,如果您将画布用于“有趣”的表面,您可以在画布上构建类似按钮的东西,这可能更适合您实际所做的事情。

要更改 Ttk 框架的背景颜色,您必须对其应用样式。到目前为止,我看到的关于样式创建的最佳说明在tkdocs 样式教程中,当我想查找如何做这些事情时,我会去那里。(是的,Ttk 文档本身应该涵盖这一点,但目前还没有。)

于 2011-01-07T17:53:40.793 回答