python按钮点击事件_python 批量添加的button 使用同一点击事件的方法

python 批量添加的button 使用同一点击事件根据传递的参数进行区分。

def clear_text():

print '我只是个清空而已'

def clear_text(index):

print '我只是个清空而已' +str(index)

button = Button(framet_title, text='清空', command=clear_text)

这样去设置,单个按钮对应单个点击事件没有问题的

如果你是

for i in Range(10):

button = Button(framet_title, text='清空', command=clear_text_list(i))

这样搞的话 当你程序启动的时候 回调函数就会直接执行,点击按钮是没有任何反应的,使用 button.bind的方式几乎是一样的

这种写法 如果是在JAVA C HTML C++ 是没有任何问题的。请原谅 我是个做android开发 程序员。我最纳闷的是 我明明 是每个按钮都给他单独设置了 回调。为什么会提前回调,并且 点击的时候没有任何反应。

for i in Range(10):

button = Button(framet_title, text='清空', command=lambda:clear_text_list(i))

如果在 添加 lambda 程序启动是不会回调了。但是每次点击 获得的索引还是最后一个。

Google 了一圈 (说实话 我不知道用什么关键字。。。) http://stackoverflow.com/ 上面我尝试 python buttons command lambda

正确的姿势是

for index in range(9):

n=letters[index]

button = Button(root, bg="White", text=n, width=5, height=1, relief=GROOVE,

command=lambda index=index, n=n: appear(index, n))

看到答案 之后 开始找答案对的理由吧 他是用lambda 表达式 做成了个 点击事件的集合 正好对应 button的集合。

以上这篇python 批量添加的button 使用同一点击事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python,可以使用tkinter库创建GUI应用程序,并为按钮添加点击事件。首先,你需要导入tkinter库Button模块和messagebox模块。然后,你需要创建一个Tk对象来创建主窗口。接下来,你可以使用Button类创建一个按钮,并通过command参数指定点击事件的函数。在点击事件的函数,你可以编写你希望按钮执行的代码逻辑。例如,你可以使用messagebox.showinfo()函数显示一个消息框来提供提示信息,或者使用messagebox.showerror()函数显示一个错误消息框。如果想要创建更复杂的功能,你可以使用Toplevel类创建一个新的顶层窗口,然后在其显示需要的内容。最后,调用mainloop()方法来启动GUI应用程序的事件循环,使其保持运行状态。以下是一个简单的示例代码: ```python import tkinter as tk from tkinter import messagebox def button_clicked(): messagebox.showinfo("提示", "按钮点击了!") root = tk.Tk() button = tk.Button(root, text="点击我", command=button_clicked) button.pack() root.mainloop() ``` 这段代码创建了一个按钮,并在按钮点击时调用button_clicked()函数来显示一个提示框。你可以根据自己的需求修改按钮的文本和点击事件的函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python实现按钮点击事件](https://blog.csdn.net/qq_43393216/article/details/94890629)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python tkinter 制作一个经典的登录界面和点击事件](https://blog.csdn.net/m0_48405781/article/details/126678450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值