Saya sedang menulis aplikasi Python yang berbasis tab, dan saya tidak ingin ada dialog pop-up tambahan.
Saya ingin menggunakan Gtk.AboutDialog
fungsionalitas, tetapi saya tidak ingin itu muncul sebagai jendela terpisah. Sebaliknya, saya ingin itu disematkan di salah satu tab Gtk.Notebook
saya (yang saya buat dengan Glade).
Saya tidak dapat menemukan cara yang jelas untuk melakukan ini. Apakah ada yang punya petunjuk?
Jawaban yang Diterima:
Anda dapat memindahkan area konten (GtkVBox
) dari GtkDialog
ke GtkContainer
lain , lalu tambahkan ke GtkNotebook
– menggunakan gtk.Widget.reparent() metode.
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 ()
Dengan antarmuka yang dibuat di Glade, Anda harus melakukan trik sederhana untuk solusi ini. Buat tab “Tentang” di buku catatan dengan menambahkan GtkBox
(dengan id misalnya “about_box”). Kemudian Anda dapat melakukan sesuatu seperti ini:
box = builder.get_object ("about_box")
about.vbox.reparent (box)
Dalam beberapa alasan GtkAboutDialog
Glade area konten berisi juga GtkButtonBox
. Jika Anda tidak membutuhkan tombol ini, hancurkan saja:
about.action_area.destroy()
Jika Anda hanya menginginkan tombol 'Kredit', tanpa tombol 'Tutup', lakukan sesuatu seperti ini:
close_button = about.get_widget_for_response(Gtk.ResponseType.CANCEL)
close_button.destroy()