3

プラグインをサポートする gnome 用のアプリを作成しています。各プラグインには、glade ファイルと python スクリプトが含まれます。

プラグインからグレード ファイルをメイン インターフェイスに埋め込むにはどうすればよいですか。

プラグインの空き地ファイルにはページ/タブが含まれている必要があり、メイン インターフェイスのノートブックに埋め込まれます。

助けてください。

4

2 に答える 2

4

2つのオプションがあります。

  1. 2つのgladeファイルを2つの異なる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. 1つのビルダーに異なるファイルを追加できます。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

最善の方法は、プラグインにグレード ファイル自体をロードさせ、メイン プログラムがページ/タブを取得するために呼び出すことができる関数を持たせることです。そうすれば、プラグインは必要なすべての信号を接続できます。gtk.Builder ドキュメント

于 2009-09-04T15:42:17.107 に答える