GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie bettet man den Inhalt eines Gtkaboutdialogs in ein Gtknotebook-Widget ein?

Ich schreibe eine tab-basierte Python-App und möchte nicht, dass sie zusätzliche Pop-up-Dialogfelder enthält.

Ich möchte den Gtk.AboutDialog verwenden Funktionalität, aber ich möchte nicht, dass es als separates Fenster angezeigt wird. Vielmehr möchte ich, dass es in eine der Registerkarten meines Gtk.Notebook eingebettet wird (die ich mit Glade erstellt habe).

Ich konnte keinen offensichtlichen Weg finden, dies zu tun. Hat jemand irgendwelche Hinweise?

Akzeptierte Antwort:

Sie können den Inhaltsbereich verschieben (GtkVBox ) von GtkDialog zu einem anderen GtkContainer und dann an GtkNotebook anhängen – mit gtk.Widget.reparent() Methode.

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

Mit der in Glade erstellten Schnittstelle müssen Sie für diese Lösung einen einfachen Trick ausführen. Erstellen Sie die Registerkarte „Info“ im Notizbuch mit angehängter GtkBox (mit ID zum Beispiel „about_box“). Dann können Sie so etwas tun:

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

Aus einigen Gründen ist Glades GtkAboutDialog Inhaltsbereich enthält auch GtkButtonBox . Wenn Sie diese Schaltflächen nicht benötigen, zerstören Sie sie einfach:

about.action_area.destroy()

Wenn Sie nur die Schaltfläche „Credits“ ohne die Schaltfläche „Close“ wünschen, gehen Sie so vor:

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

Ubuntu
  1. Wie kann man den Inhalt einer String-Variable eingeben?

  2. Wie installiere ich ein Gtk-Design auf Ubuntu 15.04?

  3. So ändern Sie die Größe eines Ordneransichts-Widgets auf dem Desktop

  4. Wie erkennt man die physische Bildschirmgröße eines Computers in Gtk?

  5. So laden Sie Inhalte auf Plesk hoch

So blockieren Sie Inhalte für Erwachsene unter Ubuntu Linux

So installieren Sie das Xenlism Minimalism GTK-Design unter Ubuntu 18.04 LTS

So installieren Sie Ubuntu 22.04 auf Virtual Box

So steuern Sie Vagrant Box mit Vagrant-Befehlen

So installieren Sie MX Linux auf einer virtuellen Box

So installieren Sie Debian auf Virtual Box