我试图在 Canvas
中放置一个显示 Label
的 LabelFrame
但是我收到此错误:
TclError: can't use .28425672.27896648 in a window item of this canvas
这是我的代码:
from Tkinter import LabelFrame, Label, Tk, Canvas
root = Tk()
canvas = Canvas(root)
canvas.pack()
label_frame = LabelFrame(text="I'm a Label frame")
label = Label(label_frame,text="Hey I'm a Label")
canvas.create_window(10,20,window=label)
root.mainloop()
最佳答案
制作 canvas
的 label_frame
子项,并将 label
打包在框架内。然后将 label_frame
(而不是 label
)传递给 create_window
。
...
label_frame = LabelFrame(canvas, text="I'm a Label frame")
label = Label(label_frame, text="Hey I'm a Label")
label.pack()
canvas.create_window(10, 20, window=label_frame, anchor='w')
...
anchor
默认为 CENTER
。要正确对齐,请将 anchor 指定为 w
。
关于python - 在 Tkinter Canvas 中创建 LabelFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19605405/