我尝试制作一个基本的 tkinter ttk 程序,但框架之间的填充消失了。我正在使用网格,它应该(可能)导致了问题。我是初学者,我需要帮助。代码如下:
from tkinter import *
from tkinter import ttk
def donothing():
print("i see")
root = Tk()
root.title("Application")
root.geometry("1000x1000")
s=ttk.Style()
s.configure('TFrame', background='gray')
s.configure('windowframes.TFrame', background='darkgray')
mainframe = ttk.Frame(root, padding="5 5 5 5",height=300)
mainframe.grid(column=0, row=0, sticky=(N,E,S,W))
menu = Menu(root)
root.config(menu=menu)
filemenu = Menu(menu,tearoff=0)
filemenu.add_command(label="New", command=donothing)
filemenu.add_command(label="Open", command=donothing)
filemenu.add_command(label="Save", command=donothing)
filemenu.add_command(label="Save as...", command=donothing)
filemenu.add_command(label="Close", command=donothing)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menu.add_cascade(label="File", menu=filemenu)
toolframe = ttk.Frame(mainframe,padding="5 5 5 5",height=40,style='windowframes.TFrame')
toolframe.grid(column=0, row=0, sticky=(N,E,W))
mainframe.columnconfigure(0,weight=2)
hierarchyframe = ttk.Frame(mainframe,padding="5 5 5 5",width=300,style='windowframes.TFrame')
hierarchyframe.grid(column=0, row=1, sticky=(S,W,N))
mainframe.rowconfigure(1,weight=1)
root.columnconfigure(0,weight=1)
root.rowconfigure(0,weight=1)
root.mainloop()
答案 0 :(得分:0)
acw1668 是对的,只需将其从制作 Frame 并将填充放在那里进行更改,而不是将其放在 .grid 函数中,如
hierarchyframe = ttk.Frame(mainframe,width=300,style='windowframes.TFrame')
hierarchyframe.grid(column=0, row=1, sticky=(S,W,N), padx=2, pady=2)
谢谢