私はPythonタブベースのアプリを書いていますが、追加のポップアップダイアログを持たせたくありません。
Gtk.AboutDialog
機能を使用したいのですが、別のウィンドウとして表示したくありません。むしろ、Gtk.Notebook
(Gladeで作成した)のタブの1つに埋め込みたいのです。
これを行う明白な方法を見つけることができませんでした。誰かがポインターを持っていますか?
移動できます コンテンツエリア (GtkVBox
)からGtkDialog
から別のGtkContainer
に追加し、GtkNotebook
に追加-使用 gtk.Widget.reparent() 方法。
about = Gtk.AboutDialog()
about.set_program_name ("Application")
about.set_copyright ("Author")
box = Gtk.VBox ()
about.vbox.reparent (box)
notebook.append_page (box, Gtk.Label("About"))
about.destroy ()
Gladeで作成されたインターフェイスでは、このソリューションに対して簡単なトリックを行う必要があります。ノートブックに「About」タブを作成し、GtkBox
を追加します(IDは「about_box」など)。その後、次のようなことができます:
box = builder.get_object ("about_box")
about.vbox.reparent (box)
いくつかの理由で、GladeのGtkAboutDialog
コンテンツエリア GtkButtonBox
も含まれています。このボタンが必要ない場合は、単に破棄するだけです。
about.action_area.destroy()
「閉じる」ボタンなしで「クレジット」ボタンのみが必要な場合は、次のようにします。
close_button = about.get_widget_for_response(Gtk.ResponseType.CANCEL)
close_button.destroy()