在按下时创建一个按钮,在python 3.3的输入框中在该按钮上打印数字

发布于 2021-01-29 14:59:50

我想创建一个在其上写有“ 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()
关注者
0
被浏览
110
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    传递一个函数(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函数中提取Entry创建代码。否则,每次单击按钮时都会创建条目。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看