Das Ende von Glade

  Ralf Hersel   Lesezeit: 5 Minuten  🗪 4 Kommentare

Es wird keine GTK4-Version des GUI-Entwurfswerkzeugs mehr geben.

das ende von glade

Wenn es um den Entwurf von GTK-Fenstern ging, war bisher das Rapid-Application-Development-Tool Glade die erste Wahl. Viele Entwickler fragen sich nun, ob es eine GTK4-Version geben wird. Die Antwort lautet: Nein.

Glade ist ein RAD-Tool, das die schnelle und einfache Entwicklung von Benutzeroberflächen für das GTK-Toolkit und die GNOME-Desktopumgebung ermöglicht. Die in Glade entworfenen Benutzeroberflächen werden als XML gespeichert und können mithilfe des GTK-Objekts GtkBuilder bei Bedarf dynamisch von Anwendungen geladen werden. Durch die Verwendung von GtkBuilder können Glade-XML-Dateien in zahlreichen Programmiersprachen wie C, C++, C#, Vala, Java, Perl, Python und anderen verwendet werden.

Welche Optionen gibt es nun, um die Oberfläche von GTK4-Applikationen zu gestalten? Leider kann ich auf diese Frage keine befriedigende Antwort geben. Viele Leser würden sagen: Vergesst GTK und entwerft eure Anwendungen besser auf der Basis von Qt. Kann man machen, muss man aber nicht; insbesondere wenn Anwendungen für den GNOME-Desktop entworfen werden sollen.

Anfängern würde ich sowieso nicht empfehlen, ein grafisches Entwurfswerkzeug zu verwenden, weil man damit nicht lernt, wie eine Gtk-Oberfläche funktioniert. Es ist viel lehrreicher, eine einfache GUI-Anwendung zu schreiben und die Gtk-Widgets selbst zu programmieren. Hier sind ein paar Tipps dazu:

Es hilft im Quelltext die Widget-Hierarchie aufzuführen, um den Überblick zu behalten; zum Beispiel so:

     # === Widgets ==========================================================

        # Window
            # Box (vertical)
                # Entry
                # ScrolledWindow
                    # TreeView
                        # TreeViewColumn
                # Box (horizontal)
                    # Buttons
                # StatusBar
                # ProgressBar

Wer das GUI unbedingt ausserhalb des Programmcodes schreiben möchte, kann auch den Weg über eine XML-Datei gehen, um diese dann mit GtkBuilder in das Projekt einzubinden. Von diesem Ansatz rate ich ab, weil die GUI-Definition im XML-Format sehr mühsam ist. Eine solche Datei ist der Output von Glade; das möchte man nicht selbst schreiben. Hier ist ein Beispiel, um euch einen Eindruck zu vermitteln:

<interface>
  <object class="GtkDialog" id="dialog1">
    <child internal-child="content_area">
      <object class="GtkBox" id="vbox1">
        <child internal-child="action_area">
          <object class="GtkBox" id="hbuttonbox1">
            <child>
              <object class="GtkButton" id="ok_button">
                <property name="label" translatable="yes">_Ok</property>
                <property name="use-underline">True</property>
                <signal name="clicked" handler="ok_button_clicked"/>
              </object>
            </child>
          </object>
        </child>
      </object>
    </child>
  </object>
</interface>

Ein Ansatz, um Glade zu ersetzen, ist Juan Pablo Ugartes Werkzeug Cambalache; sozusagen der Nachfolger von Glade. Dieses Rapid-Application-Development-Tool werde ich mir in einem eigenen Artikel ansehen.

Ihr ahnt es; an der Gtk4-Front gibt es viele Fragezeichen und viel Neues zu entdecken. Ich warte auf neue Werkzeuge, gute Dokumentation und Beispiele, insbesondere im Umfeld von Gtk4 für Python.

Quellen:

https://discourse.gnome.org/t/plan-about-gtk4-support-of-glade/5965

https://flathub.org/apps/details/ar.xjuan.Cambalache

Tags

Glade, Rapid-Application-Development-Tool, Gtk4, GtkBuilder, Python, Anwendung, XML

User123
Geschrieben von User123 am 8. März 2022 um 13:33

Ich finde, Cambalache ist ein vielversprechenden Projekt. Warte gespannt auf deinen Artikel 👍

kamome
Geschrieben von kamome am 13. März 2022 um 17:54

Vergesst GTK und entwerft eure Anwendungen besser auf der Basis von Qt. Kann man machen, muss man aber nicht;

Nach der Vorlage – (wenn auch nur halb ernst gemeint): Muss man nicht, aber sollte man ;)

phil
Geschrieben von phil am 23. März 2023 um 09:30

Ne, sollte man nicht.

Stefan Weilhartner
Geschrieben von Stefan Weilhartner am 23. März 2023 um 13:21

ich hab bisher sehr gute erfahrungen mit den windows .net forms unter visual studio gemacht. der designer mit der automatischen generierung der gui files hat mir eigentlich gut gefallen. sowas würde ich mir auch für gtk wünschen.