python - 填充未显示在 tkinter 网格中
问题描述
我试过制作一个基本的 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()
解决方案
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)
谢谢
推荐阅读
- reactjs - 无法映射对象?无法读取未定义的属性“地图”
- datadog - DataDog 中的动态/复合列
- chromium - 通过 Serenity 获取 zalenium 的连接超时
- oracle - 如何跟踪 Oracle 中启动的 SQL 查询?
- reactjs - 在 material-ui Accordian 崩溃时从 DOM 中移除 AccordianDetails 组件
- javascript - 单击按钮后,列表中选中的复选框应消失
- python-3.x - 以任意顺序从 a 列获取 b 列中找到的字符串的计数,并在新列中返回计数
- python - Python 使用 python 请求登录到 ASPX 网站
- elasticsearch - Kibana 交互式输入 - 如何浏览我的所有数据?
- sql - 如何比较相似数据