gpt4 book ai didi

python - Gtkbuilder 连接信号组织

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:09 24 4
gpt4 key购买 nike

我如何组织我的应用程序的处理程序,这样我的应用程序就不会只有一个类?更准确地说,我的应用程序目前按以下方式组织:

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)/处理程序创建一个类但是我在调​​用 self.builder.connect_signals(self)时遇到问题,它只连接信号我的主窗口而不是应用程序的其余部分。

最佳答案

我找到了解决问题的方法,我没有使用 GtkBuilder,而是使用了不同格式的空地文件 (libglade),并将 connect_signals 替换为 signal_autoconnect:

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)

关于python - Gtkbuilder 连接信号组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16914957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com