有关将参数传递给tkinter button命令的更多信息

nurdglaw

我在一个目录中有许多测试文件。我正在尝试编写一个GUI,以允许我选择并运行其中一个。

因此,我有一个循环扫描目录并创建按钮:

    for fnm in glob.glob ('Run*.py'):
        tstName = fnm[3:-3]      # Discard fixed part of filename
        btn = Button (self, text=tstName,
                      command=lambda: self.test(tstName))
        btn.grid (row=rowNum, column=0, pady=2)
        rowNum += 1

这将正确创建我的GUI,带有标记为A和B的按钮,但是当我按标记为A的按钮时,它将传递B给该test方法。

我环顾四周,发现了这个问题如何将参数传递给Tkinter按钮的回调命令?但是答案并没有继续使用相同的变量名和不同的值来配置另一个小部件。(实际上,通过将变量名与窗口小部件名绑定在一起,几乎暗示了该技术在这种情况下不起作用,正如我所发现的那样。)

我是新的Python,但我很熟悉创建使用Tcl / TK,我认识到这个问题,这种GUI的-的价值tstName,当我按下按钮被传递,但我想它传递值的变量当我创建它时。我知道如何在Tcl / Tk中修复该问题-我将[list]在创建时定义一个命令字符串,以捕获变量的值。

如何在Python中做同样的事情?

布莱恩·奥克利(Bryan Oakley)

您需要在定义按钮时绑定tstName的当前值您执行操作的方式,tstName无论按下按钮时意志价值是多少。

要在创建按钮时绑定值,请使用tstName的值作为lambda的关键字参数的默认值,如下所示:

btn = Button(..., command=lambda t=tstName: self.test(t))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将有关用户和密码的信息传递给命令“flask db migrate”

来自分类Dev

有关Python TKinter动态OptionMenu的更多信息

来自分类Dev

在哪里可以了解有关如何使用GRUB`ntldr`命令(模块)的更多信息。

来自分类Dev

如何找到有关GNU coreutils命令历史的更多信息?

来自分类Dev

有关动态编程的更多信息

来自分类Dev

在哪里可以找到有关Javascript特定参数语法的更多信息?(内部示例)

来自分类Dev

如何获得有关SIGFPE信号的更多信息?

来自分类Dev

有关303重定向的更多信息

来自分类Dev

阅读有关数据库结果的更多信息

来自分类Dev

Python-如何获取有关SyntaxError的更多信息?

来自分类Dev

请求有关溢出的更多信息:隐藏

来自分类Dev

有关chrome.webRequest.onErrorOccurred的更多信息

来自分类Dev

有关JavaScript图像错误的原因的更多信息

来自分类Dev

有关异步IO调用的更多详细信息

来自分类Dev

Python-如何获取有关SyntaxError的更多信息?

来自分类Dev

获取有关Gradle构建错误的更多信息

来自分类Dev

请求有关ASM OPCode的更多信息

来自分类Dev

如何获取有关套接字文件的更多信息?

来自分类Dev

有关Winform中Alpha混合模式的更多信息

来自分类Dev

有关chrome.webRequest.onErrorOccurred的更多信息

来自分类Dev

有关菜单选择玻璃的更多信息

来自分类Dev

阅读有关数据库结果的更多信息

来自分类Dev

如何获取有关此设备的更多信息?

来自分类Dev

需要更多有关magento basic的信息

来自分类Dev

获取有关“权限被拒绝”的更多信息

来自分类Dev

需要有关logstash的更多信息

来自分类Dev

如何获取有关异常错误的更多信息?

来自分类Dev

显示有关项目的更多信息 php codeigniter

来自分类Dev

有关 node-red 错误的更多信息

Related 相关文章

  1. 1

    如何将有关用户和密码的信息传递给命令“flask db migrate”

  2. 2

    有关Python TKinter动态OptionMenu的更多信息

  3. 3

    在哪里可以了解有关如何使用GRUB`ntldr`命令(模块)的更多信息。

  4. 4

    如何找到有关GNU coreutils命令历史的更多信息?

  5. 5

    有关动态编程的更多信息

  6. 6

    在哪里可以找到有关Javascript特定参数语法的更多信息?(内部示例)

  7. 7

    如何获得有关SIGFPE信号的更多信息?

  8. 8

    有关303重定向的更多信息

  9. 9

    阅读有关数据库结果的更多信息

  10. 10

    Python-如何获取有关SyntaxError的更多信息?

  11. 11

    请求有关溢出的更多信息:隐藏

  12. 12

    有关chrome.webRequest.onErrorOccurred的更多信息

  13. 13

    有关JavaScript图像错误的原因的更多信息

  14. 14

    有关异步IO调用的更多详细信息

  15. 15

    Python-如何获取有关SyntaxError的更多信息?

  16. 16

    获取有关Gradle构建错误的更多信息

  17. 17

    请求有关ASM OPCode的更多信息

  18. 18

    如何获取有关套接字文件的更多信息?

  19. 19

    有关Winform中Alpha混合模式的更多信息

  20. 20

    有关chrome.webRequest.onErrorOccurred的更多信息

  21. 21

    有关菜单选择玻璃的更多信息

  22. 22

    阅读有关数据库结果的更多信息

  23. 23

    如何获取有关此设备的更多信息?

  24. 24

    需要更多有关magento basic的信息

  25. 25

    获取有关“权限被拒绝”的更多信息

  26. 26

    需要有关logstash的更多信息

  27. 27

    如何获取有关异常错误的更多信息?

  28. 28

    显示有关项目的更多信息 php codeigniter

  29. 29

    有关 node-red 错误的更多信息

热门标签

归档