3

我正在为 gnome 编写一个支持插件的应用程序。每个插件都将包含一个 glade 文件和一个 python 脚本。

如何在主界面中嵌入插件中的 glade 文件。

插件 glade 文件应包含一个页面/选项卡,并将嵌入到主界面的笔记本中。

请帮忙。

4

2 回答 2

4

你有两个选择:

  1. 你可以将两个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)
    
  2. 您可以将不同的文件添加到一个构建器。您应该确保两个文件中的名称没有冲突:

    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)
    
于 2009-09-04T19:04:15.597 回答
3

最好的方法是让插件自己加载 glade 文件并具有主程序可以调用以获取页面/选项卡的功能。这样插件就可以连接它需要的所有信号。gtk.Builder 文档

于 2009-09-04T15:42:17.107 回答