在按下时创建一个按钮 在 python 3.3 的输入框中打印该按钮上的数字 [英] to create a button when pressed print the number on that button in the entry box in python 3.3

查看:15
本文介绍了在按下时创建一个按钮 在 python 3.3 的输入框中打印该按钮上的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想做一个按钮,上面写着2"....现在当有人点击它时,它会在输入框中显示数字2"...错误是:在点击之前,它已经在输入框中显示2"

i want to make a button on which '2' is written .... now when anyone click it , it will show the number '2' in the entry box... the error is: before clicking , it is already showing '2' in the entry box

所以请帮我消除这个错误这是我的程序

So please help me removing this error here is my program

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()

推荐答案

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

Pass a function (used lambda in the following code) instead of return value of the function.

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 创建代码.否则每次点击按钮时都会创建条目.

In addition to that, extract Entry creation code out of the add function. Otherwise entry are create every time when the button is clicked.

这篇关于在按下时创建一个按钮 在 python 3.3 的输入框中打印该按钮上的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆