1
所以我在Glade中开发了一个用户界面,并在Python中编写程序。出于某种原因,我的所有信号都被忽略了!虽然我已经正确地连接了它们(我认为),但点击按钮确实没有任何作用!我的信号被忽略!
下面是我用来加载UI和连接信号的代码。任何人都可以看到为什么他们可能会被忽略?
class mySampleClass(object):
def __init__(self):
self.uiFile = "MainWindow.glade"
self.wTree = gtk.Builder()
self.wTree.add_from_file(self.uiFile)
self.window = self.wTree.get_object("winMain")
if self.window:
self.window.connect("destroy", gtk.main_quit)
dic = { "on_btnExit_clicked" : self.clickButton, "on_winMain_destroy" : gtk.main_quit }
self.wTree.connect_signals(dic)
self.window.show()
else:
print "Could not load window"
sys.exit(1)
def clickButton(self, widget):
print "You clicked exit!"
def exit(self, widget):
gtk.main_quit()
def update_file_selection(self, widget, data=None):
selected_filename = FileChooser.get_filename()
print selected_filename
if __name__ == "__main__":
MyApp = MySampleClass()
gtk.main()
当我阅读标题时,我认为问题主题是一种关系。 – orlp
self.wTree.connect_signals(dic)是否返回无? – Mark
你确定你在林间空地正确设置处理程序吗?您发布的代码(附有一些错别字)适用于我。 –