root = Tk()
descriptionFrame = Frame(root)
definitionFrame = LabelFrame(descriptionFrame, text="Definition")
definitionScroll = Scrollbar(definitionFrame)
definitionCanvas = Canvas(definitionFrame, width=30, height=4, yscrollcommand=definitionScroll.set)
definitionScroll.config(command=definitionCanvas.yview)
definitionLabel = Label(definitionCanvas, text="n/a")
descriptionFrame.pack()
definitionFrame.pack()
definitionScroll.pack(side=RIGHT, fill=Y)
definitionCanvas.pack(side=LEFT, fill=BOTH, expand=True)
definitionLabel.pack(fill=BOTH, expand=True)
root.mainloop()
我有这段代码。Canvas的宽度设置为30,高度设置为4,但是当我运行这个程序时,它会忽略Canvas的大小,并且生成的窗口大小以Label为准。我尝试在代码中的每个Frame上使用pack_propagate(False)
,但它对definitionFrame
没有任何影响,而当我在descriptionFrame
上使用它时,结果是一个空白窗口。如何创建一个GUI,使得所有的帧和窗口大小都根据Canvas的宽度30和高度4进行调整?
谢谢。