我正在为 gnome 编写一个支持插件的应用程序。每个插件都将包含一个 glade 文件和一个 python 脚本。
如何在主界面中嵌入插件中的 glade 文件。
插件 glade 文件应包含一个页面/选项卡,并将嵌入到主界面的笔记本中。
请帮忙。
你有两个选择:
你可以将两个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)
最好的方法是让插件自己加载 glade 文件并具有主程序可以调用以获取页面/选项卡的功能。这样插件就可以连接它需要的所有信号。gtk.Builder 文档。