我如何组织我的应用程序的处理程序,使我的应用程序不只有一个类?更准确地说,我的应用程序目前是以以下方式组织的:
class main_application(object):
def handler1():
...
def handler2():
...
#lots of handlers...
def __init__(self):
self.builder = gtk.Builder()
self.builder.add_from_file("gui.ui")
self.builder.connect_signals(self)
#build window
#....
#tab 1
#tab 2
#and etc..
self.builder.connect_signals(self)
self.gtk_main_window.show_all()
if __name__ == '__main__':
main_application()
gtk.main() 所以我的问题是,我想为我的应用程序的每个选项卡(GtkNotebook)/handler创建一个类,但是当我调用self.builder.connect_signals(self)时有一个问题,它只连接我的主窗口的信号,而不是应用程序的其余部分。
发布于 2013-06-06 23:40:33
我找到了我的问题的解决方案,而不是使用GtkBuilder,我使用了不同格式的glade文件(libglade),并用signal_autoconnect替换了connect_signals:
def __init__(self):
self.gladefile = "gui.glade"
self.builder = gtk.glade.XML(self.gladefile, "gtk_main_window")
self.gtk_main_window = self.builder.get_widget("gtk_main_window")
self.builder.signal_autoconnect(self) https://stackoverflow.com/questions/16914957
复制相似问题