我希望默认情况下有更大的帧大小,但是这段代码不能那样工作。我做错了什么?
from Tkinter import *
class App:
def __init__(self, master):
frame = Frame(master, width=600, height=450)
frame.grid()
frame.pack_propagate(0) # tell frame not to let its children control its size
self.label_file = Label(frame, text="Enter CSV file:")
self.label_encode = Label(frame, text="Enter encoding:")
self.entry_file = Entry(frame)
self.entry_encode = Entry(frame)
self.label_file.grid(row=0, sticky=E)
self.label_encode.grid(row=1, sticky=E)
self.entry_file.grid(row=0, column=1)
self.entry_encode.grid(row=1, column=1)
root = Tk()
root.wm_title("Top list")
app = App(root)
root.mainloop()
答案 0 :(得分:0)
您正在调用pack_propagate
,但之后使用grid
来实际布置小部件。如果您使用的是grid
,则必须致电grid_propagate
。
我敦促你抵制这样做的诱惑。打开几何传播时,Tkinter程序的表现要好得多。如果您正在尝试解决某些特定的布局问题,可能有更好的方法来解决这个问题,而不是关闭传播。
我已经使用了tkinter超过几十年,而且我需要将几何传播关闭的时间我可能只能依靠一只手,手指留下。