微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TKinter ttk.Notebook 小部件样式

如何解决TKinter ttk.Notebook 小部件样式

(Windows 10,Python 3.8.5)

尝试更改 ttk.Notebook 小部件的外观时,是否只能选择创建自定义主题?我曾尝试在样式上使用 .configure.map 并使用 .theme_settings 来尝试更改已经存在的主题,但它们似乎都没有更改背景颜色。

只是为了澄清,实际小部件的背景会改变,但选项卡本身的背景不会改变,即使样式名称TNotebook.Tab 奇怪的是所有其他选项都有效(也就是改变前景色)等)创建自定义主题似乎可行,但它也会在所有其他小部件上强制使用相同的主题,并使它们看起来非常难看。

示例代码

import tkinter as tk
from tkinter import ttk

class Test(ttk.Frame):
    def __init__(self,master = "None"):
        super().__init__()

        self.grid()

        self.make_widgets()

    def make_widgets(self):

        self.notebookStyle = ttk.Style()
        self.notebookStyle.configure("TNotebook",background = "red",foreground = "red")

        self.notebookStyle.map("TNotebook.Tab",background = [("selected","red")])

        self.notebookStyle.theme_use("vista")
        self.notebookStyle.theme_settings("vista",{
            "TNotebook.Tab": {"configure": {"background" : "red"},"map": {"background": [("selected","red")],"foreground": [("selected","red")]}}})

        self.testNotebook = ttk.Notebook(self)
        self.testNotebook.add(ttk.Button(self.testNotebook),text = "Test",padding = "1i")
        self.testNotebook.grid()

root = tk.Tk()
app = Test(root)
app.mainloop()

(我也分别试过,没有一个成功)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。