2011-05-29 52 views
2

我有一个应用程序,我正在与pygtk和格莱德。无法通过使用Glade的回调传递用户数据

我有一个单选按钮系列,我正在努力工作。在按钮切换后尝试传递用户数据时我很难过。回调可以正常工作,但不会发送在glade的用户数据字段中的处理程序旁边输入的用户数据。

就像一个简单的测试,我这样做是为一类的一部分:

def on_output_toggled(self, widget, data=None): 
    print data 

空地内,有可能被设定在处理程序和M4B为on_output_toggled信号“切换”一个单选按钮用户数据。从这个

预计终端输出的单选按钮后选择是:

m4b 

我得到的是:

None 

我在做什么错。除了部件本身之外,没有任何东西被传递给回调。

感谢, Narnie

回答

1

“用户数据”你格莱德进入实际只应在格莱德文件中定义的其他部件(或动作,或对象)的名称。在你的情况下,需要在你的Glade文件的某个地方有一个名为“m4b”的对象。

+0

是的,我发现这是真的,这很糟糕,因为如果你手动设置它而不是使用Glade,你可以传递你想要的任何用户信息给你的回调,而不必传递一个函数/对象。格莱德在这方面是相当有限的,我很困惑它为什么会这样设计。我可能会提交一个错误报告。 – narnie 2012-03-03 03:15:04