如何解决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 举报,一经查实,本站将立刻删除。