pyGTK - 从另一个函数中调用事件处理函数

时间:2015-10-07 20:15:55

标签: python python-2.7 pygtk

人们已经提出了与此类似的问题,但由于它的通用性,我得到了不受欢迎的结果,例如jquery相关的东西。如果之前已经提出这个问题,我会提前道歉。

我有一个使用Linux中的Glade Interface Designer(Ubuntu 14.04)构建的GUI应用程序。

例如,我有这个功能:

def on_togglebutton2_toggled(self, widget, data=None):

        map = widget.get_colormap()
        color_off = map.alloc_color("red")
        color_on  = map.alloc_color("green")
        label = widget.get_label()
        ......more code.

我有一个用于选择要读取的文件的按钮。根据读取的内容,切换按钮将设置为某种状态。

有一种模拟“点击”按钮的方法,而不必手动设置这些按钮(例如widget.set_active(1))。无需亲自点击'要执行的代码的切换按钮?其中很大一部分是代码重用。

如何从同一档案中的其他功能调用on_toggle_button2_toggled()?

编辑:

例如:

我希望能够做到这一点:

def function_name_here(self):
    code here...
    self.on_toggle2_toggle() #call the action listener function.

EDIT2:调用set_active(0或1)也会调用侦听器函数。

先谢谢所有人。

1 个答案:

答案 0 :(得分:0)

这是一个不需要的问题。

如果有人想要在不调用操作的情况下从函数调用其动作侦听器:

toggle1 = self.builder.get_object("togglebutton1")
self.on_togglebutton1_toggled(toggle1)