为什么我的风格不会改变任何这些对象的背景?我生气了,把它们分配给了一切。为什么它会制作两个窗户?我发现它与风格的不同之处在于对象选项中的风格...我觉得它也适用于我的课程,我想def _init_(self)
它?班级?
import tkinter as tk
import tkinter.ttk as ttk
style = ttk.Style()
style.configure("color1.TFrame", foreground = "black", background = "red")
class main:
parent = tk.Tk()
n = ttk.Notebook(parent,style = "color1.TFrame")
f1 = ttk.Frame(n,style = "color1.TFrame") # first page tab
f2 = ttk.Frame(n,style = "color1.TFrame") # second page 2nd tab
window = f1
frame1 = ttk.Frame(window,style = "color1.TFrame")
frame1.grid(row = 1, column = 1, padx = 200, pady = 150)
frame2 = ttk.Frame(window)
frame2.grid(row = 2, column = 1,padx = 200, pady = 150)
main()
答案 0 :(得分:1)
似乎没有出现任何内容并且您的样式不起作用的原因是因为您实际上并未绘制所有小部件。
你永远不会告诉下面的小工具真正在你的窗口上画画:
address="/employeeservice"
n
f1
此外,当您调用f2
尚未创建根窗口时,会加载第二个窗口。这比我解释它here要好得多。
通过将程序更改为以下内容,您可以看到样式确实有效:
ttk.Style()
可以说更好的方法就是如下:
import tkinter as tk
import tkinter.ttk as ttk
class main:
parent = tk.Tk()
style = ttk.Style()
style.configure("color1.TFrame", foreground = "black", background = "red")
n = ttk.Notebook(parent,style = "color1.TFrame")
n.pack()
f1 = ttk.Frame(n,style = "color1.TFrame") # first page tab
f2 = ttk.Frame(n,style = "color1.TFrame") # second page 2nd tab
window = f1
f1.pack()
f2.pack()
frame1 = ttk.Frame(window,style = "color1.TFrame")
frame1.grid(row = 1, column = 1, padx = 200, pady = 150)
frame2 = ttk.Frame(window)
frame2.grid(row = 2, column = 1,padx = 200, pady = 150)
main()
虽然这是主观的并且实现了同样的目标。