我想填充一本gtk.notebook。每次用户打开文件时,都会生成新的笔记本电脑选项卡。非常直截了当。我的问题是,我使用GLADE构建UI,笔记本电脑将应该具有子小部件树(scrolledWindow-> fiewport-> viewport-> Alignment-> frame)。在我的GLADE文件中,我有一个模板笔记本电脑,我想多次使用它,因此我不必在普通GTK中编写整个树。使用libglade,您可以重复使用Pygtk常见问题解答中解释的小部件树: http://faq.pygtk.org/index.py?file=faq22.011.htp&req = show 。我该如何使用gtkbuilder做到这一点?

提前致谢,

亚瑟

有帮助吗?

解决方案

用gtkbuilder这样做:

builder = gtk.Builder()
builder.add_from_file("GUI.xml")
builder.connect_signals(self)
self.window1 = builder.get_object("window1")
self.window1.show()

编辑:

最初我错了,似乎GTKBuilder添加时会实例化对象。因此,这样做的理想方法是通过字符串手动添加小部件

builder.add_from_string("""
<interface>
  <object class="GtkWindow" id="window1">
    <child>
      <object class="GtkComboBox" id="combobox1">
        <property name="model">liststore1</property>
      </object>
    </child>
  </object>
</interface>""")

self.window1 = builder.get_object("window1")

希望这有效!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top