© best_vector/Shutterstock.com
Windows Developer
Teil 6: Fortgeschrittene Module des Frameworks verwenden

Qt verwaltet Daten

Qt-Applikationen beschränken sich nicht auf das Anzeigen von Daten. Das Framework bietet Entwicklern eine Vielzahl von Hilfsklassen an, die ihre Arbeit im Backend erledigen und sich um Parsing, Netzwerkkommunikation oder Datenpräsentation kümmern.

Tam Hanna


ArtikelserieTeil 1: Nativ aussehende Cross-Plattform-Apps mit Qt erzeugenTeil 2: Auflösungsunabhängig programmierenTeil 3: GUI mit QtTeil 4: Ratenzahlung mit dem QTeil 5: Auch abseits von Windows gibt es LebenTeil 6: Fortgeschrittene Module des Frameworks verwenden

Aus der Logik folgt, dass eine Komplettbesprechung des Themas an dieser Stelle nicht möglich ist – der Autor verfasste vor einigen Jahren ein rund 300 Seiten umfassendes Lehrbuch, das auch nur an der Oberfläche kratzen konnte. Wir wollen unsere Ausführungen hier am Datenmodell-API ausrichten. Dahinter steckt der Gedanke, dass Qt Entwickler nicht dazu zwingt, alle am Bildschirm sichtbaren Elemente in den Steuerelementen unterzubringen. Stattdessen ist es auch erlaubt, analog zum Modell-View-Controller-Pattern, Informationen im Hintergrund zu halten und die Visualisierung ans Framework abzutreten.

Eine Frage des Steuerelements

MVC-Applikationen lassen sich in Qt sowohl mittels QtGUI als auch mittels QML entwerfen. Wir wollen in den folgenden Schritten – schon aus Gründen der Bequemlichkeit – auf den klassischen QtGUI-Stack setzen. Deshalb erzeugen wir eine neue Applikation auf Basis der Vorlage Application | Qt Widgets Application. Öffnen Sie danach die .ui-Datei, um den WYSIWYG-Editor zu aktivieren. Die für die Darstellung von Informationen zuständigen Steuerelemente präsentieren sich dann wie in Abbildung 1.

Abb. 1: Datengetriebene Steuerelemente stehen in zwei Variationen zur Verfügung

Die mit dem Suffix Item-Based ausgestatteten Widgets bringen dabei die Logik, die für das Vorhalten der Informationen notwendig ist, mit. Elemente der Art Model-Based erwarten stattdessen die Bereitstellung eines „externen“ Datenmodells, das der Entwickler natürlich auch an anderer Stelle in seiner Applikation weiterverwenden darf.

Zur Demonstration der Mächtigkeit dieses Features wollen wir uns anfangs eine TreeView greifen, die sie wie gewohnt im Formular platzieren und maximieren. Wechseln Sie danach in den Code-behind und platzieren Sie im Konstruktor den Code aus Listing 1.

Listing 1# include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); QFileSystemModel* myModel=new QFileSystemModel(this); myModel->setRootPath("/"); ui->treeView->setModel(myModel);}

Qt bietet mit der QFileSystemModel-Klasse ein Modell an, das seine Informationen aus dem Dateisystem der Hostworkstation bezieht. Wer – wie der Autor – die folgenden Exper...

Windows Developer
Teil 6: Fortgeschrittene Module des Frameworks verwenden

Qt verwaltet Daten

Qt-Applikationen beschränken sich nicht auf das Anzeigen von Daten. Das Framework bietet Entwicklern eine Vielzahl von Hilfsklassen an, die ihre Arbeit im Backend erledigen und sich um Parsing, Netzwerkkommunikation oder Datenpräsentation kümmern.

Tam Hanna


ArtikelserieTeil 1: Nativ aussehende Cross-Plattform-Apps mit Qt erzeugenTeil 2: Auflösungsunabhängig programmierenTeil 3: GUI mit QtTeil 4: Ratenzahlung mit dem QTeil 5: Auch abseits von Windows gibt es LebenTeil 6: Fortgeschrittene Module des Frameworks verwenden

Aus der Logik folgt, dass eine Komplettbesprechung des Themas an dieser Stelle nicht möglich ist – der Autor verfasste vor einigen Jahren ein rund 300 Seiten umfassendes Lehrbuch, das auch nur an der Oberfläche kratzen konnte. Wir wollen unsere Ausführungen hier am Datenmodell-API ausrichten. Dahinter steckt der Gedanke, dass Qt Entwickler nicht dazu zwingt, alle am Bildschirm sichtbaren Elemente in den Steuerelementen unterzubringen. Stattdessen ist es auch erlaubt, analog zum Modell-View-Controller-Pattern, Informationen im Hintergrund zu halten und die Visualisierung ans Framework abzutreten.

Eine Frage des Steuerelements

MVC-Applikationen lassen sich in Qt sowohl mittels QtGUI als auch mittels QML entwerfen. Wir wollen in den folgenden Schritten – schon aus Gründen der Bequemlichkeit – auf den klassischen QtGUI-Stack setzen. Deshalb erzeugen wir eine neue Applikation auf Basis der Vorlage Application | Qt Widgets Application. Öffnen Sie danach die .ui-Datei, um den WYSIWYG-Editor zu aktivieren. Die für die Darstellung von Informationen zuständigen Steuerelemente präsentieren sich dann wie in Abbildung 1.

Abb. 1: Datengetriebene Steuerelemente stehen in zwei Variationen zur Verfügung

Die mit dem Suffix Item-Based ausgestatteten Widgets bringen dabei die Logik, die für das Vorhalten der Informationen notwendig ist, mit. Elemente der Art Model-Based erwarten stattdessen die Bereitstellung eines „externen“ Datenmodells, das der Entwickler natürlich auch an anderer Stelle in seiner Applikation weiterverwenden darf.

Zur Demonstration der Mächtigkeit dieses Features wollen wir uns anfangs eine TreeView greifen, die sie wie gewohnt im Formular platzieren und maximieren. Wechseln Sie danach in den Code-behind und platzieren Sie im Konstruktor den Code aus Listing 1.

Listing 1# include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); QFileSystemModel* myModel=new QFileSystemModel(this); myModel->setRootPath("/"); ui->treeView->setModel(myModel);}

Qt bietet mit der QFileSystemModel-Klasse ein Modell an, das seine Informationen aus dem Dateisystem der Hostworkstation bezieht. Wer – wie der Autor – die folgenden Exper...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang