【问题标题】:Creating a LabelFrame inside a Tkinter Canvas在 Tkinter 画布中创建 LabelFrame
【发布时间】:2013-11-05 11:46:13
【问题描述】:

我正在尝试放置一个LabelFrame,它在Canvas 内显示一个Label,但是我收到此错误:

TclError: can't use .28425672.27896648 in a window item in 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()

【问题讨论】:

    标签: python python-2.7 tkinter


    【解决方案1】:

    label_frame 设为canvas 的子级,并将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。要正确对齐,请将锚指定为 w

    【讨论】:

    • 不显示Labelframe,然后抱歉:(
    猜你喜欢
    • 2012-04-03
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多