为什么边框的宽度不显示一次运行?
Why doesn't the width of the frame show once ran?
我指定了一个框架的宽度,然后我在其中网格化了一个按钮,要求它是它可以使用的最宽
from tkinter import *
root = Tk()
frame = Frame(root, width=100, height=100, background="#ffffff")
frame.pack()
btn = Button(frame, text="Hello").grid(row=0, column=0, sticky="we")
root.mainloop()
但它实际上并没有占据整个框架的长度,框架甚至不是白色的。如果我评论按钮行,它就可以正常工作。
这是为什么?
我可以假设这是因为您将按钮 'on' 框架放在了框架上,而不是在根目录下。
希望这会解决您的问题:
btn = Button(root, text="Hello").pack()#.grid(row=0, column=0, sticky="we")
这就是评论员要您做的事情。告诉您的框架不要传播到网格。
from tkinter import *
root = Tk()
frame = Frame(root, width=500, height=500, background="red")
frame.pack()
frame.grid_propagate(0) # this fixes the frame issue you are having
btn = Button(frame, text="Hello")
btn.grid(row=0, column=0, sticky="we")
root.mainloop()
我指定了一个框架的宽度,然后我在其中网格化了一个按钮,要求它是它可以使用的最宽
from tkinter import *
root = Tk()
frame = Frame(root, width=100, height=100, background="#ffffff")
frame.pack()
btn = Button(frame, text="Hello").grid(row=0, column=0, sticky="we")
root.mainloop()
但它实际上并没有占据整个框架的长度,框架甚至不是白色的。如果我评论按钮行,它就可以正常工作。 这是为什么?
我可以假设这是因为您将按钮 'on' 框架放在了框架上,而不是在根目录下。 希望这会解决您的问题:
btn = Button(root, text="Hello").pack()#.grid(row=0, column=0, sticky="we")
这就是评论员要您做的事情。告诉您的框架不要传播到网格。
from tkinter import *
root = Tk()
frame = Frame(root, width=500, height=500, background="red")
frame.pack()
frame.grid_propagate(0) # this fixes the frame issue you are having
btn = Button(frame, text="Hello")
btn.grid(row=0, column=0, sticky="we")
root.mainloop()