我正在为gnome编写一个支持插件的应用程序。 每个插件都包含一个glade文件和一个python脚本。
如何在主界面中插入插件中的glade文件。
插件空档文件应包含页面/标签,并将嵌入主界面的笔记本中。
请帮忙。
答案 0 :(得分:3)
最好的方法是让插件自己加载glade文件,并具有主程序可以调用以获取页面/选项卡的功能。这样插件可以连接所需的所有信号。 gtk.Builder documentation
答案 1 :(得分:2)
您有两种选择:
您可以将两个glade文件打开为两个不同的GtkBuilder对象,然后手动将插件文件的内容添加到主窗口中。您可以将插件的内容放入名为pluginbox
的框中,并将主应用的笔记本命名为mynotebook
。在代码中应该如下所示:
main_builder = gtk.Builder()
main_builder.add_from_file('main.glade')
plugin_builder = gtk.Builder()
plugin_builder.add_from_file('plugin.glade')
mynotebook = main_builder.get_object('mynotebook')
pluginbox = plugin_builder.get_object('pluginbox')
mynotebook.append_page(pluginbox)
您可以将不同的文件添加到一个构建器。您应该确保两个文件中的名称没有冲突:
main_builder = gtk.Builder()
main_builder.add_from_file('main.glade')
main_builder.add_from_file('plugin.glade')
mynotebook = main_builder.get_object('mynotebook')
pluginbox = main_builder.get_object('pluginbox')
mynotebook.append_page(pluginbox)