Ich schreibe eine Python-App, die auf Registerkarten basiert, und ich möchte nicht, dass sie zusätzliche Popup-Dialoge enthält.
Ich möchte die Gtk.AboutDialog
Funktionalität nutzen, möchte aber nicht, dass sie als separates Fenster angezeigt wird. Ich möchte vielmehr, dass es in eine der Registerkarten von mir eingebettet wird Gtk.Notebook
(die ich mit Glade erstellt habe).
Ich konnte keinen offensichtlichen Weg finden, dies zu tun. Hat jemand irgendwelche Hinweise?
python
application-development
gtk
pygi
David Planella
quelle
quelle
application-development
Tag. Wir empfehlen und empfehlen die Verwendung von Askubuntu als Ressource für die Unterstützung von und durch App-Entwickler developer.ubuntu.com/communityAntworten:
Sie können den Inhaltsbereich (
GtkVBox
) vonGtkDialog
einem anderen in einen anderen verschiebenGtkContainer
und dannGtkNotebook
mit der Methode gtk.Widget.reparent () an - anhängen .Mit der in Glade erstellten Schnittstelle müssen Sie für diese Lösung einen einfachen Trick ausführen. Erstellen Sie eine Registerkarte "Info" im Notizbuch mit angehängtem
GtkBox
Text (mit der ID "about_box"). Dann können Sie so etwas tun:In einigen Gründen enthält der
GtkAboutDialog
Inhaltsbereich von Glade auchGtkButtonBox
. Wenn Sie diese Schaltflächen nicht benötigen, zerstören Sie sie einfach:Wenn Sie nur die Schaltfläche "Credits" ohne die Schaltfläche "Schließen" möchten, gehen Sie wie folgt vor:
quelle
Gtk.Notebook
im Code erstellten Codes funktioniert. Wenn das Notebook jedoch mit Glade erstellt wurde, wird der neue Tab nicht angehängt.action_area
Widget loswerden , aber gibt es eine Möglichkeit, nur das Widget loszuwerdenclose_button
? Das Feld, das jetzt in eine Registerkarte eingebettet ist, macht die Schaltfläche unnötig.