GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment intégrer le contenu d'un Gtkaboutdialog dans un widget Gtknotebook ?

J'écris une application Python basée sur des onglets, et je ne veux pas qu'elle ait de boîtes de dialogue contextuelles supplémentaires.

Je souhaite utiliser le Gtk.AboutDialog fonctionnalité, mais je ne veux pas qu'elle apparaisse dans une fenêtre séparée. J'aimerais plutôt qu'il soit intégré dans l'un des onglets de mon Gtk.Notebook (que j'ai créé avec Glade).

Je n'ai trouvé aucun moyen évident de le faire. Quelqu'un a-t-il des conseils ?

Réponse acceptée :

Vous pouvez déplacer la zone de contenu (GtkVBox ) de GtkDialog vers un autre GtkContainer , puis ajoutez à GtkNotebook – en utilisant gtk.Widget.reparent() méthode.

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 ()

Avec l'interface créée dans Glade, vous devez faire une astuce simple pour cette solution. Créer un onglet "À propos" dans le bloc-notes avec GtkBox ajouté (avec id par exemple "about_box"). Ensuite, vous pouvez faire quelque chose comme ceci :

box = builder.get_object ("about_box")
about.vbox.reparent (box)

Pour certaines raisons, GtkAboutDialog de Glade zone de contenu contient aussi GtkButtonBox . Si vous n'avez pas besoin de ces boutons, détruisez-les simplement :

about.action_area.destroy()

Si vous voulez uniquement le bouton "Crédits", sans le bouton "Fermer", faites quelque chose comme ceci :

close_button = about.get_widget_for_response(Gtk.ResponseType.CANCEL)
close_button.destroy()

Ubuntu
  1. Comment configurer un environnement de développement LAMP dans Vagrant

  2. Comment restaurer /etc/profile ??

  3. Comment redimensionner un widget d'affichage de dossier sur le bureau ?

  4. Comment détecter la taille de l'écran physique d'un ordinateur dans Gtk ?

  5. Comment utiliser un thème GTK 3 différent pour des utilisations spécifiques

Comment bloquer le contenu pour adultes sur Ubuntu Linux

Comment installer le thème GTK Xenlism Minimalism sur Ubuntu 18.04 LTS

Comment installer Ubuntu 22.04 sur Virtual Box

Comment contrôler Vagrant Box à l'aide des commandes Vagrant

Comment installer MX Linux sur Virtual Box

Comment installer Debian sur Virtual Box