【问题标题】:Handling events from file menu处理来自文件菜单的事件
【发布时间】:2012-04-05 06:00:43
【问题描述】:

我正在尝试使用常规文件菜单编写程序。 (例如文件、编辑、查看等)。

我希望他们在该菜单中执行的操作来更新我的状态栏(标签)。

问题是,我现在设置它的方式,我相信它正在执行命令,然后尝试将结果作为它应该做的事情。

目前一个菜单项是这样定义的:

fileMenu.add_command(label="Insert", command=self.statusUpdater(statusLabel,"Insert   Triggered")

而函数statusUpdater是这样定义的:

 def statusUpdater(self,status,commandName):

    status.config(text=commandName)
    status.update_idletasks()

所以问题是,在程序开始时,状态更改为“插入触发”。我想要的是只有在我实际点击“插入”后才会开心

根据我在其他地方看到的提示,我似乎需要某种方法来传递和处理插入被点击的事件

有人可以提供一个通用的基本功能来满足我的要求吗?我认为问题在于附加到命令函数的 () ,但我不知道任何其他传递参数的方式。

我只需要一个在点击事件上调用的函数,并且知道哪个 fileMenu 命令触发了它。

谢谢!

【问题讨论】:

    标签: python user-interface tkinter python-2.7


    【解决方案1】:

    命令引用函数。如果你想传递参数,你可以设置一个 lambda:

    ...command=lambda l=statusLabel, self.statusUpdater(l, "Insert Triggered"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 2021-11-07
      相关资源
      最近更新 更多