我正在尝试建立一个带有按钮和标签等的tkinter窗口。我添加的按钮旨在调用一个函数,但无法正常工作。
该函数包含以下行 x = entry1.get() 但是,这是说没有定义entry1(尽管它是在程序的前面定义的)。 我在YouTube频道上看到了这项工作,对此我感到非常困惑。
这还不是全部代码(我已经完成了基本工作)
def game():
x=entry1.get()
label=Label(root,textvariable=x)
label.grid(row=5,column=2)
def mainwindow():
root=Tk()
root.title("Typing Game")
root.geometry("1920x1080")
entry1=Entry(root)
entry1.grid(row=2,column=4)
button=Button(root,text="Hit this button when done",command=game)
button.grid(row=1,column=4)
root.mainloop()
mainwindow()
X最终应该是用户输入的文本,但它只是说在尝试执行“ x = entry1.get()”行时未定义entry1。
答案 0 :(得分:0)
确实没有定义<div class="card mx-auto mb-2" style="width: 12rem;">
<div class="" style="height:200px;">
<img class="card-img-top" src="https://www.fillmurray.com/200/100" alt="Card image cap">
</div>
<div class="card-body">
<p class="card-text">Verticall center this image</p>
</div>
</div>
。 (稍后在下面的代码中定义)。因此,您需要以不同的方式实现它。那是一种方式:
entry1
因此,我在from tkinter import *
from functools import partial
def game(entry, label):
label['text'] = entry.get()
def mainwindow():
root = Tk()
root.title("Typing Game")
root.geometry("1920x1080")
entry1 = Entry(root)
entry1.grid(row=2, column=4)
label = Label(root)
label.grid(row=5, column=2)
func = partial(game, entry1, label)
button = Button(root, text="Hit this button when done", command=func)
button.grid(row=1, column=4)
root.mainloop()
mainwindow()
函数中创建了标签(无值)。在mainwindow()
函数中,我只是设置了标签的值。注意,我将game(entry, label)
函数更改为接受2个参数,因此我们摆脱了game
错误。另外,我使用了not defined at tha point
函数,因此可以为按钮的命令分配一个带有参数的函数。