要创建按钮,请在Python3.3中的输入框中打印按钮上的数字

2024-04-20 03:57:45 发布

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

我想做一个按钮,上面写着“2”。。。。现在,当任何人点击它时,它会在输入框中显示数字“2”。。。 错误是: 单击之前,它已在输入框中显示“2”

所以请帮我删除这个错误 这是我的节目

from tkinter import * 

root = Tk()  
def add(x):  
    e1=Entry(root)  
    e1.insert(INSERT, x)  
    e1.pack()

a=Button(root, text='2', command=add(2))  
a.pack()

root.mainloop()

Tags: fromimportaddtkinterdef错误数字root
2条回答

当您这样做时:

a=Button(root, text='2', command=add(2))  

同:

^{pr2}$

例如,您正在调用add,并将其return值赋给command。相反,可以使用^{}创建一个函数,该函数将使用参数2调用{}:

from functools import partial

a=Button(root, text='2', command=partial(add, 2))

传递一个函数(在下面的代码中使用lambda),而不是函数的返回值。在

from tkinter import * 

root = Tk()  
e1 = Entry(root)  
e1.pack()

def add(x):  
    e1.insert(INSERT, x)  

a = Button(root, text='2', command=lambda: add(2))
a.pack()

root.mainloop()

除此之外,从add函数中提取条目创建代码。否则,每次单击按钮时都会创建条目。在

相关问题 更多 >