我正在尝试在 gtk.Builder 定义文件中使用自定义容器小部件。至于实例化这些小部件,它工作得很好:
#!/usr/bin/env python
import sys
import gtk
class MyDialog(gtk.Dialog):
__gtype_name__ = "MyDialog"
if __name__ == "__main__":
builder = gtk.Builder()
builder.add_from_file("mydialog.glade")
dialog = builder.get_object("mydialog-instance")
dialog.run()
现在的问题是说我在那个对话框中有一个 gtk.TreeView 小部件。我试图弄清楚如何将该小部件绑定到 MyDialog 实例变量。
我能想到的一种便宜的替代方法是在获取对话框小部件后调用其他方法,如下所示:
dialog = builder.get_object("mydialog-instance")
dialog.bind_widgets(builder)
但这似乎相当尴尬。有没有人已经解决了这个问题,或者对如何去做有更好的想法?
谢谢,