place_configure()缺少1个必需的位置参数:“self”

2024-09-28 05:15:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的项目中使用滚动条。我有一些代码可以在画布内、框架内创建一个框架,以便将标签放在框架上,然后滚动浏览。以下是一些代码:

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)

我就有了密码:

^{pr2}$

这很好地工作,但是我确实需要使用.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'

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


Tags: 代码框架configureplace标签widthframelabel
1条回答
网友
1楼 · 发布于 2024-09-28 05:15:54

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

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

相关问题 更多 >

    热门问题