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?
Спасибо.