【问题标题】:How to change tkinter ttk Notebook background colour (Python)?如何更改 tkinter ttk 笔记本背景颜色(Python)?
【发布时间】:2018-08-19 10:38:21
【问题描述】:

我正在尝试在我的 python 应用程序中更改 Notebook 小部件的背景颜色,使其匹配蓝色而不是白色。

我已尝试搜索数小时但无济于事。是不是因为我在 Mac 上工作而无法正常工作?

tabs_notebook = ttk.Notebook(self)
tabs_notebook.configure(bg=DARKBLUE)
tabs_notebook.pack()

view_tab = ttk.Frame(tabs_notebook)
new_tab = ttk.Frame(tabs_notebook)
tabs_notebook.add(view_tab, text="View Patient Details")
tabs_notebook.add(new_tab, text="Add New Patient")

【问题讨论】:

标签: ttk tkinter python tkinter colors ttk


【解决方案1】:

对 Tk 的主要抱怨之一是它很丑。这主要是因为它永远不适合托管环境的原生外观和感觉,并且因为提供的配置选项的数量意味着应用程序开发人员倾向于推出自己的风格,而这些风格与任何其他应用程序都不太适合。另一个问题是,在 Windows 和 MacOS 上,Tk 使用幼稚的渲染 API 来绘制按钮和其他 UI 元素,但在这些平台引入主题时未能跟上。因此,即使 Tk 应用程序在默认的 Windows XP 上看起来没问题,它也会在用户选择替代主题的地方显得格格不入。

因此,在开发 ttk(主题 Tk)时,主要设计目标之一是确保默认主题适合当前平台。在 Windows 和 MacOS 上,这意味着 UI 元素是使用本机主题 API 绘制的。在 Linux 上 - 它只需要做出最好的猜测。

在您的特定情况下,笔记本元素是使用 MacOS 主题 API 调用绘制的,您无法从 Tk 更改此主题的颜色。但是,您可以做的是定义一个完整的 Tk 主题。 Tk 代码中有一些这样做的例子,这些例子是某人的imported to Python。这些应该足以生成一个新的主题,使用 Tk 绘图 API 和可能的某些元素的图像,以便在您需要大量自定义时允许完全自定义的主题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 2014-07-03
    • 2019-09-09
    • 2014-07-08
    • 2019-06-25
    • 2021-01-20
    相关资源
    最近更新 更多