在PyGTK/GtkBuilder中处理多个窗口



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

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()

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

welcome_dialog.py:38: RuntimeWarning: missing handler 'on_contract_window_response'
  self.builder.connect_signals(self)

对于我在Glade中为所有其他窗口定义的每个信号处理程序。我想我只想连接这个窗口/对话框的信号,忽略其他一切,但我不知道该怎么做。或者我可能做错了什么,我应该把每个窗口分成一个不同的GtkBuilder文件?或者在同一(初始)时间连接每个可能窗口的信号?

使用gtk.Builder.add_from_file将文件的整个层次结构添加到Builder对象,这就是为什么您会收到信号连接警告;CCD_ 2调用尝试连接所有

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

相关内容

  • 没有找到相关文章

最新更新