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