Login
Newsletter
Werbung

So, 18. Dezember 2005, 00:00

Kommander

Dieser Artikel stellt das Programm »Kommander« vor. Anhand eines einfachen Beispielprogrammes werden die Grundprinzipien von Kommander verdeutlicht.

Einführung

Der Kommander ist eine modifizierte Form des Qt Designers. Er erlaubt es, extrem schnell einfache grafische Benutzeroberflächen (GUIs) ohne Programmierkenntnisse zu erstellen. Leider ist die Dokumentation jedoch sehr dürftig geraten und es fehlt eine einfache Anleitung. Dieser Artikel versucht, das Programm etwas populärer zu machen. Aufgrund der schlechten Doku kann ich jedoch selbst nur einen kleinen Teil des Kommander-Potentials ausschöpfen. Über Tipps zur Verbesserung dieses Artikels würde ich mich daher sehr freuen.

Installation: Kommander ist Teil des Paketes kdewebdev, da er häufig von Quanta+ genutzt wird. Sollte das Programm nicht in den Paketquellen Ihrer Distribution zu finden sein, finden sich Downloads auf der Projekt-Homepage.

Dieser Artikel beschreibt Kommander anhand folgender, einfachen Aufgabe: Bei einem eingehenden Anruf soll es möglich sein, sich schnell Notizen zu machen, falls dieser für ein anderes Familienmitglied bzw. einen Mitarbeiter ist. Dazu soll per Shortcut ein kleines Eingabefenster mit den folgenden Feldern gestartet werden:

  • Anrufer-Name
  • Anrufer Nr.
  • Dropdown-Liste mit vordefinierten Empfängern
  • Notizen

Per Klick soll dann ein KMail-Fenster mit fertig ausgefüllten Feldern geöffnet werden.

Erstellen des Interfaces

Leeres Formular

Christoph Neuroth

Leeres Formular

Der Kommander-Editor wird mit dem Befehl kmdr-editor gestartet. Wählen Sie zunächst DateiNeu und dann den einfachen Dialog. Dieser erstellt lediglich ein leeres Formular. Damit in der Fensterdekoration später nicht Form1 steht, sollten Sie zunächst den Eigenschaften-Editor auf der linken Seite des Fensters benutzen, um die Eigenschaft caption in KommanderBeispiel oder einen ähnlich einfallsreichen Namen zu ändern.

Vorher/Nacher: Der Designer sorgt für Ordnung

Christoph Neuroth

Vorher/Nacher: Der Designer sorgt für Ordnung

In das Formular klatschen Sie nun einfach die benötigten Widgets grob hinein - und das ist durchaus ernst gemeint, denn um die Größe und Anordnung wird sich der Designer für Sie kümmern. Erstellen Sie also zwei LineEdit Widgets, eine ComboBox, drei Labels, einen TextEdit und einen ExecButton.

Nun lassen Sie den Designer seine Arbeit tun: Dazu wählen Sie einfach alle Elemente aus (STRG+A) und wählen AnordnungIn einem Raster anordnen (STRG+G) - schon werden sie sauber angeordnet. Die zu einem Layout zusammengefassten Widgets erkennt man am roten Rahmen. Neben dem Grid gibt es auch die Möglichkeit, einige Widgets horizontal oder vertikal anzuordnen. Ein abschließendes AnordnungGröße anpassen (STRG+J) verkleinert das Formular so, dass kein Platz verschwendet wird. Dazu muss allerdings wieder das Formular anstatt des Grids markiert werden.

Als nächstes verändern Sie die Eigenschaften dieser Widgets mit dem Property-Editor, wie bereits für die Formular-Caption geschehen:

  • Als Eigenschaft "name" vergeben Sie für die Eingabe-Widgets aussagekräftige Bezeichner, z.B. "Name", "Nr", "To" und "Message". Mit diesem Namen können Sie die Widgets später im Code ansprechen.
  • Die Eigenschaft "text" der drei Labels und des ExecButtons ändern Sie ebenfalls passend ab, um diese Widgets angemessen zu beschriften.

Abschließend füllen Sie die Combobox mit den möglichen Empfängern, also allen Telefon-Mitbenutzern. Öffnen Sie dazu den Edit-Dialog über einen Doppelklick auf die Combobox.

Kommander Text

Damit ist das Interface auch schon fertig. Nun kommen wir zum »Code«, der - eben weil nicht viel »programmiert« wird, nur Kommander Text genannt wird. Machen Sie einen Rechts-Klick auf den ExecButton und wählen im Kontext-Menü Edit Kommander Text. Der KommanderText für den Button ist ein einfacher Einzeiler, hier aus Layoutgründen in zwei Zeilen geschrieben:

@exec(kmail --subject "Anruf von @Name.Text @Nr.Text" --body
"@Message.Text" @To.text)

@exec führt einfach ein externes Programm aus. Die benötigten Daten werden einfach über @WidgetName.Text eingefügt. Welche Funktionen noch zur Verfügung stehen, erfahren Sie über einen Klick auf Funktion... unter dem Eingabefeld. Unter anderem ist es möglich, über Kommander-Text andere KDE-Programme per DCOP zu steuern, oder über die Standardausgabe andere Programme zu bedienen.

Test und Produktiveinsatz

Fertiges Formular und das erzeugte KMail-Fenster

Christoph Neuroth

Fertiges Formular und das erzeugte KMail-Fenster

Speichern Sie Ihren Dialog und wählen RunRun Dialog, um ihn zu testen. Funktioniert alles wie gewünscht, können Sie den Dialog in Zukunft direkt ausführen:

kmdr-executor /pfad/zu/datei.kmdr

Damit Sie Ihr Mini-Programm immer schnell verfügbar haben, benutzen wir eine weitere Funktion von KDE: KHotKeys. Dazu öffnen Sie das KDE-Kontrollzentrum (über das Menü oder per Eingabe von kcontrol)und wählen Regionaleinstellungen & ZugangshilfenTastenkombinationen. Dort erstellen Sie eine neue Aktion vom Typ Tastenkürzel->BefehlAdresse (einfach) und rufen über einen beliebigen Shortcut den kmdr-executor auf.

Zusammenfassung

Natürlich hätte man die Notizen auch direkt in ein KMail-Fenster tippen können. Das braucht allerdings länger zum Starten und ist nicht so übersichtlich, was bei bei der Hektik mancher Anrufe schon verwirren kann.

Durch DCOP sind der Interaktion mit laufenden KDE-Programmen zwar kaum Grenzen gesetzt, aber mit den erhaltenen Daten lässt sich nur wenig anfangen. Wer deutlich komplexere Aufgaben umsetzen will, ist daher vermutlich mit dem »großen Bruder« Qt Designer und einer Skriptsprache wie Python besser bedient. An die Schnelligkeit von Kommander kommen diese aber nicht heran.

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung