プラグインをサポートする gnome 用のアプリを作成しています。各プラグインには、glade ファイルと python スクリプトが含まれます。
プラグインからグレード ファイルをメイン インターフェイスに埋め込むにはどうすればよいですか。
プラグインの空き地ファイルにはページ/タブが含まれている必要があり、メイン インターフェイスのノートブックに埋め込まれます。
助けてください。
2つのオプションがあります。
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)
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)
最善の方法は、プラグインにグレード ファイル自体をロードさせ、メイン プログラムがページ/タブを取得するために呼び出すことができる関数を持たせることです。そうすれば、プラグインは必要なすべての信号を接続できます。gtk.Builder ドキュメント。