首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PyGTK/GtkBuilder中处理多个窗口

在PyGTK/GtkBuilder中处理多个窗口
EN

Stack Overflow用户
提问于 2011-06-07 07:17:08
回答 1查看 2K关注 0票数 1

如何将多个不同的窗口/对话框存储在单个GtkBuilder文件中,然后将这些窗口加载到不同的类中(每个类对应一个不同的窗口)?例如,目前我正在做这样的事情:

代码语言:javascript
复制
def __init__(self):
    self.builder = gtk.Builder()
    self.builder.add_from_file('gtkbuilder.xml')
    self.welcome_dialog = self.builder.get_object('welcome_dialog')
    self.builder.connect_signals(self)
    self.welcome_dialog.show()

这确实会产生一个功能正常的软件,但它会发出各种各样的警告,比如:

代码语言:javascript
复制
welcome_dialog.py:38: RuntimeWarning: missing handler 'on_contract_window_response'
  self.builder.connect_signals(self)

对于我在Glade中为所有其他窗口定义的每个信号处理程序。我想我想要做的就是连接这个单一窗口/对话框的信号,忽略其他所有的东西,但我不确定如何做到这一点。或者,也许我正在做一些可怕的错误,我应该将每个窗口拆分成不同的GtkBuilder文件?或者在同一(初始)时间为每个可能的窗口连接信号?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-07 09:41:04

使用gtk.Builder.add_from_file将从文件到生成器对象的整个层次结构添加到生成器对象,这就是为什么会收到信号连接警告;builder.connect_signals()调用尝试连接所有内容。

相反,可以使用gtk.Builder.add_objects_from_file来选择要在当前类中处理的单个顶级窗口或小部件。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6259089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档