
Qt CAN Bus Beispiel – Wie fange ich an?
Ich begrüße Sie zu einem weiteren Blogbeitrag. Der letzte Beitrag behandelte eine Form der Kommunikation zwischen Geräten mit Qt Bluetooth […]
Das Qt Charts-Modul bietet die Möglichkeit, verschiedene Arten von Diagrammen anzuzeigen, um Daten zu visualisieren. Dieses Modul, das im Qt-Framework enthalten ist, ist sehr beliebt, da es möglich ist, Komponenten aus diesem Modul sowohl bei der Arbeit mit einer auf Qt Widgets basierenden Benutzeroberfläche als auch bei der Verwendung von QML zu nutzen. Das Aussehen und das Gefühl dieser Diagramme ist nahezu identisch, unabhängig davon, welche Art der UI-Implementierung gewählt wird, da es auf dem Qt Graphics View Framework basiert.
In der Zwischenzeit können Sie unsere Seite über Qt-Entwicklungsdienste besuchen.
Das Qt Charts-Modul ist bereits seit längerer Zeit im Qt-Framework verfügbar, aber das Framework selbst entwickelt sich ständig weiter und wird kontinuierlich verbessert, sodass auch Änderungen am Framework vorgenommen wurden. Die neueste Long-Term-Support (LTS)-Version des Qt-Frameworks ist Qt 6.2, und diese Version enthält die meisten Änderungen und Verbesserungen.
Viele dieser Änderungen wurden von den Qt-Entwicklern von Scythe Studio umgesetzt, und etwas zufällig sind wir zu einem bedeutenden Mitwirkenden am Qt Charts-Modul geworden. Das oben gezeigte Balkendiagramm zeigt die Anzahl der Commits pro E-Mail-Domain seit 2008, ausgenommen die Commits von Mitarbeitern der Qt-Firma. Natürlich ist die Anzahl der Commits nicht der beste Indikator, da einige Commits das Ergebnis gemeinsamer Arbeit sind und die Commits unterschiedlich sind. Auch die Geduld der Qt-Mitarbeiter (insbesondere der Maintainer) bei der Überprüfung verdient eine große Anerkennung.
Das Qt Charts-Modul wurde in Qt 6.1 in der Form wiederhergestellt, wie es in den letzten Versionen von Qt 5 war. In diesem Blogbeitrag werden nur die Änderungen beschrieben, die am Modul in Qt 6.2 vorgenommen wurden. Wir werden nicht alle Änderungen wie kleinere Änderungen, Dokumentationsänderungen oder neue Demos erklären. Die vollständige Liste der Änderungen an Qt Charts in Qt 6.2 finden Sie in den offiziellen Release-Notizen.
Möglichkeit, das Aussehen einzelner Punkte in einer Serie in QXYSeries anzupassen
Früher musste man, um das Aussehen einzelner Punkte oder Punkte, die gezeichnet werden sollten, anzupassen, mehrere separate Serien erstellen. Um es in Erinnerung zu rufen: Serien sind Sätze von Punkten, um eine Linie zwischen ihnen zu ziehen und/oder einzelne Punkte darzustellen. Stellen Sie sich vor, Sie wollten das Aussehen Ihrer Diagramme anpassen, zum Beispiel wollten Sie nur über einigen Punkten Beschriftungen anzeigen. Nach der alten Methode mussten Sie zwei Serien erstellen, von denen eine nur Punkte mit Beschriftungen und die andere nur Punkte ohne Beschriftungen enthielt. Dann müssten Sie setPointLabelsVisible() entsprechend aufrufen.
Wie funktioniert es jetzt? Zu den Änderungen in Qt Charts in Qt 6.2 gehört das Konzept der Punktkonfiguration. Sie können eine Methode wie setPointConfiguration() auf der Instanz einer von QXYSeries abgeleiteten Klasse (wie QLineSeries, QSplineSeries oder QScatterSeries) ausführen, um das Aussehen eines einzelnen Punktes anzupassen. Sie können die Konfiguration eines einzelnen Punktes oder mehrerer Punkte auf einmal einstellen. Natürlich können Sie die Konfiguration jederzeit löschen.
Der Screenshot oben zeigt den Effekt, den wir mit der Funktion zur Punktekonfiguration und einer einzigen Serie erzielen können. Dies vereinfacht das Leben der Entwickler, da sie keine Daten mehr in zwei separate Serien einfügen müssen. Mit dieser Funktion können Sie nicht nur die Sichtbarkeit der Beschriftung bestimmter Punkte anpassen, sondern auch deren Größe, Farbe und Sichtbarkeit.
Einige Benutzer des Qt Charts-Moduls haben darum gebeten, die Möglichkeit zu haben, die Farben und Größen von Punkten anhand einer dritten Dimension anzupassen. Dies ist der Fall, wenn Sie nicht nur X- und Y-Werte haben, sondern auch Z und Sie beispielsweise eine Heatmap erstellen möchten, bei der Punkte unterschiedliche Farben haben. Um dies zu tun, müssten wir signifikante Änderungen an der API vornehmen, was viel Arbeit erfordert hätte. Daher wurde beschlossen, das Konzept der Punktkonfiguration zu nutzen und einfach zwei Methoden zu implementieren – colorBy() und sizeBy(). Beide nutzen die Punktkonfiguration und stellen die Konfiguration entsprechend der übergebenen Werteliste ein. Sie können zusätzlich den Verlauf angeben, der für die Farbanpassung der Punkte im Falle der Methode colorBy() verwendet werden soll, und die minimale und maximale Größe im Fall der Methode sizeBy().
Zusätzlich wurde eine neue QColorAxis-Klasse hinzugefügt, um klarer zu machen, welcher Wert durch eine bestimmte Farbe dargestellt wird.
Einige Benutzer des Qt Charts-Moduls haben darum gebeten, die Möglichkeit zu haben, einige Punkte oder Balken auf einem Diagramm hervorzuheben, da dies bei interaktiven Diagrammen recht üblich ist. Daher haben wir die Möglichkeit implementiert, ausgewählte Punkte oder Balken zu markieren und deren Aussehen anzupassen. Weitere Informationen zu dieser Funktion für QXYSeries und QBarSet finden Sie in der Dokumentation und können Sie selbst ausprobieren.
Es gibt auch ein Beispiel für die Verwendung dieser Funktion, das Sie ausprobieren können.
Unter den Änderungen an Qt Charts in Qt 6.2 gibt es eine neue Funktion, mit der Sie die Best-Fit-Linie für eine QXYSeries anzeigen und die Best-Fit-Liniengleichung erhalten können.
Eine weitere wichtige Funktion, die dem Qt Charts-Modul hinzugefügt wurde, ist die Lichtmarker-Funktionalität, die es ermöglicht, ein beliebiges Bild zu verwenden, um einen Punkt zu zeichnen. Es handelt sich um ein Konzept, das unabhängig von der normalen Sichtbarkeit von Punkten ist. Beide Funktionen können separat aktiviert werden. Diese Funktion wurde aufgrund der unzureichenden Anzahl von Formen implementiert, die für das Zeichnen von Punkten verwendet werden können.
Diese Funktion wird in einem der neuen Beispiele – Light Markers Points Selection example – demonstriert.
Die Zugänglichkeit von Qt Charts in Qt 6.1 auf bestimmten Plattformen bleibt gleich. Sie können das Modul verwenden, um Daten in Diagrammen darzustellen, unabhängig von Ihrer Zielplattform. Ihre Anwendung, die Qt Charts verwendet, kann auf allen Desktop-, Mobil- und Embedded-Plattformen veröffentlicht werden, die von Qt unterstützt werden.
Das Modul ist unter den kommerziellen und Open-Source-Lizenzen (GNU GPL v3) verfügbar.
Wie Sie sehen können, wurden in Qt 6.2 viele neue Funktionen zum Qt Charts-Modul hinzugefügt. Beachten Sie, dass nicht alle von ihnen in diesem Blogbeitrag erklärt wurden. Sie sollten auf jeden Fall die Punktekonfigurationsfunktion nutzen, um Ihren Code zu vereinfachen und allgemein alle Funktionen zu verwenden, um Ihre Diagramme individueller zu gestalten. Bis jetzt wurden die meisten der beschriebenen Ergänzungen zum Qt Charts-Modul nur für die Implementierung der UI mit Qt Widgets unterstützt. Wir planen jedoch, alle diese Funktionen auch für die QML-Seite zugänglich zu machen.
Zögern Sie nicht, uns zu kontaktieren, wenn Sie das Gefühl haben, dass die Funktionen des Qt-Frameworks für Ihre Bedürfnisse nicht ausreichen. Wir sind in der Lage, das Qt-Framework für Sie zu erweitern und auch maßgeschneiderte Qt-Softwareentwicklungsdienste anzubieten.
Einige der Screenshots stammen aus der offiziellen Qt Charts-Dokumentation.
Kommen wir zur Sache: Es ist eine Herausforderung, Top-Qt-QML-Entwickler zu finden. Helfen Sie sich selbst und starten Sie die Zusammenarbeit mit Scythe Studio – echten Experten im Qt C++ Framework.
Entdecken Sie unsere Fähigkeiten!Ich begrüße Sie zu einem weiteren Blogbeitrag. Der letzte Beitrag behandelte eine Form der Kommunikation zwischen Geräten mit Qt Bluetooth […]
Eingebettete Systeme sind das Rückgrat der modernen Technologie und treiben alles an – von IoT-Geräten und industrieller Automatisierung bis hin […]
Die Entwicklung von Software für die Medizingeräteindustrie erfordert eine sorgfältige Balance zwischen Innovation und Sicherheit. Da sich die Medizintechnik rasant […]