确定哪个按钮是Tkinter的pssed $ P $? [英] Determine which Button was pressed in Tkinter?

查看:100
本文介绍了确定哪个按钮是Tkinter的pssed $ P $?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做了一个简单的小工具,同时学习了Python。它动态生成按钮列表:

I'm making a simple little utility while learning Python. It dynamically generates a list of buttons:

for method in methods:
    button = Button(self.methodFrame, text=method, command=self.populateMethod)
    button.pack({'fill': 'x', 'expand': 1, 'padx': 5, 'pady': 3})

这部分工作正常。但是,我需要知道该按钮是在 self.populateMethod pssed $ P $。关于我如何能够告诉任何意见?

That part works fine. However, I need to know which of the buttons was pressed inside self.populateMethod. Any advice on how I might be able to tell?

推荐答案

您可以使用lambda来传递参数的命令:

You can use lambda to pass arguments to a command:

def populateMethod(self, method):
    print "method:", method

for method in ["one","two","three"]:
    button = Button(self.methodFrame, text=method, 
        command=lambda m=method: self.populateMethod(m))
    button.pack({'fill': 'x', 'expand': 1, 'padx': 5, 'pady': 3})

这篇关于确定哪个按钮是Tkinter的pssed $ P $?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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