填充未显示在tkinter网格中

2024-10-02 10:20:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着制作一个基本的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()

Tags: addtkinterrootframelabelcommandmenuttk
1条回答
网友
1楼 · 发布于 2024-10-02 10:20:35

acw1668是正确的,只需将其从制作框架和填充改为放入.grid函数,如

hierarchyframe = ttk.Frame(mainframe,width=300,style='windowframes.TFrame')
hierarchyframe.grid(column=0, row=1, sticky=(S,W,N), padx=2, pady=2)

多谢各位

相关问题 更多 >

    热门问题