【发布时间】:2011-08-14 03:39:18
【问题描述】:
所以我在 Glade 中开发了一个 UI,并用 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()
【问题讨论】:
-
当我阅读标题时,我认为问题主题是一种关系。
-
self.wTree.connect_signals(dic) 是否返回无?
-
您确定在 glade 中正确设置了处理程序吗?您发布的代码(修正了一些错别字)对我有用。