Wenn Sie einen Wysiwyg-GUI-Designer suchen, ist Glade die beste Wahl:
- Installieren Sie zuerst
glade
aus dem Software-Center
erstelle deine GUI, speichere sie als myapp.glade
Gehen Sie zur Registerkarte " Signale" und richten Sie Ihren Rückruf ein, zon_window1_destroy
Weisen Sie GTK in Ihrem Python-Programm an, die UI-Definitionen zu laden
import gtk
class MyApp (object):
def __init__(self):
self.builder = gtk.Builder()
self.builder.add_from_file("myapp.glade")
self.builder.connect_signals(self)
def run(self):
self.builder.get_object("window1").show_all()
gtk.main()
def on_window1_destroy(self, *args):
gtk.main_quit()
MyApp().run()
Nachdem Sie alles eingerichtet haben, können Sie direkt in das Glade-Tutorial eintauchen (wie Jeremy Kerr in seiner Antwort erwähnt hat). Machen Sie sich zunächst mit den verschiedenen Optionen und Signalen für das Layout vertraut.
Wenn Sie sich mit Glade wohl fühlen, können Sie es über Quickly verwenden. Hierbei handelt es sich um eine Reihe von Programmen, mit denen Sie die bei der Entwicklung von Software üblichen Aufgaben ganz einfach erledigen können. Es kümmert sich um Übersetzungen, das Speichern von Konfigurationen, das Packen, die Integration von Launchpads einschließlich PPAs und vieles mehr:
sudo apt-get install quickly
quickly create ubuntu-application hello-world
cd hello-world/
Erstellt jetzt schnell ein riesiges Projekt mit allem, was Sie bereits eingerichtet haben. Eine GUI, die Übersetzungsdateien, Konfiguration über Desktopcouch und so weiter.
Sie werden sehen, wie schnell ein paar Fenster (die Haupt-App, Konfiguration und ein Info-Dialog) für Sie eingerichtet werden. So bearbeiten Sie Ihre GUI:
Lauf quickly design
Führen Sie den folgenden Befehl aus, um zum Code der App zu gelangen quickly edit
Gehe zur HelloWorldWindow.py
Datei
Fügen Sie nun Signalhandler und Logik hinzu.
Zum Schluss geben Sie ein, um Ihre Anwendung auszuführen quickly run
.
An diesem Punkt können Sie in die PyGTK-Dokumentation einsteigen, um mehr über die Signale, die Signaturen der Handler, die verschiedenen Methoden der Widgets usw. zu erfahren.
Siehe auch einige verwandte Fragen: