【问题标题】:place_configure() missing 1 required positional argument: 'self'place_configure() 缺少 1 个必需的位置参数:'self'
【发布时间】:2017-03-28 12:43:17
【问题描述】:

我正在尝试在我的项目中使用滚动条。我有在画布内、在框架内创建框架的代码,以便将标签放在框架上,然后滚动浏览。这是部分代码:

statWindow = Tk()
statWindow.title("View Statistics")
statWindow.config(bg = "grey")
statWindow.geometry('600x700')

myframe =Frame(statWindow, relief=GROOVE, width=550, height=400, bd=1)
myframe.place(x=20, y=90)

canvas = Canvas(myframe)
frame = Frame(canvas)
myscrollbar = Scrollbar(myframe, orient="vertical", command=canvas.yview)
canvas.configure(width=530, height=400, yscrollcommand=myscrollbar.set)

myscrollbar.pack(side="right", fill="y")
canvas.pack(side="left")
canvas.create_window((0, 0), window=frame, anchor='nw')
frame.bind("<Configure>", myfunction)

def myfunction(event):
    global canvas
    canvas.configure(scrollregion=canvas.bbox("all"),width=530,height=400)

然后我有代码:

Label(frame,text="hello", height=1, width=14, bg="white").grid(row=1, column=1)

这很好用,但是我真的需要使用 .place() 尽管当我将标签代码更改为:

Label(frame,text="hello", height=1, width=14, bg="white").place(x=10, y=10)

什么都没有发生,因为屏幕上没有标签,似乎也没有发生错误。 但是,当我将代码更改为:

Label(frame,text="hello", height=1, width=14, bg="white")
Label.place(x=10, y=10)

我得到错误:

TypeError: place_configure() missing 1 required positional argument: 'self'

为什么我不能在框架中放置标签,我该如何解决这个问题? 谢谢

【问题讨论】:

    标签: python tkinter widget label scrollbar


    【解决方案1】:

    您不应该在课程 (Label) 上调用 place。如果您想这样做,您必须将Label 实例分配给某个变量,然后对该变量调用place。它在第一种情况下有效,因为您在类实例上调用place,而不是类本身。 示例应该如何完成:

    label_name = Label(frame,text="hello", height=1, width=14, bg="white")
    label_name.place(x=10, y=10)
    

    【讨论】:

    • 他们没有在课堂上调用place。他们在一个实例上调用它。
    • Label.place(x=10, y=10) 这看起来确实像是在课堂上调用它。另一方面,Label(frame,text="hello", height=1, width=14, bg="white").place(x=10, y=10) 在一个实例上调用它,它按预期工作。
    • 好的,你是对的。我很抱歉。在一个地方他们做错了,在一个地方他们做对了。这回答了标题中的问题。
    猜你喜欢
    • 2021-12-15
    • 2023-02-06
    • 2021-09-15
    • 2013-07-06
    • 2022-01-05
    • 2020-01-07
    • 2019-09-26
    • 2017-02-23
    相关资源
    最近更新 更多