Остановить изменение размера кадра Tkinter в соответствии с размерами виджета

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, но когда я запускаю это, он игнорирует ширину и высоту холста, и вместо этого размер результирующего окна изменяется вокруг метки. Я пробовал использовать pack_propagate (False) для каждого кадра в коде, но это не влияет ни на что для definitionFrame , но когда я использую его в descriptionFrame , он приводит к пустому окну. Как мне создать графический интерфейс, в котором все фреймы и окно имеют размер холста шириной 30 и высотой 4?

Спасибо.

8
задан Jigglypuff 7 October 2011 в 07:55
поделиться