Auf dieser Seite

Qt Canvas Painter

Das Modul „Qt Canvas Painter“ stellt Klassen für hardwarebeschleunigtes, imperatives 2D-Zeichnen bereit. Diese Zeichen-API ist sowohl für Qt Quick als auch für Qt Widgets verfügbar und kann zudem direkt mit QRhi verwendet werden. Das API-Design orientiert sich im Allgemeinen am HTML-Canvas-2D-Kontext, wobei einige Reduzierungen und Ergänzungen vorgenommen wurden.

Im Vergleich zu QPainter ist der Qt Canvas Painter kompakter und weist weniger Abstraktionen auf, um auf QRhi eine optimale Leistung zu erzielen. Der Qt Canvas Painter ist für das GPU-Rendering ausgelegt und verfügt im Gegensatz zu QPainter nicht über ein CPU-Backend.

Verwendung des Moduls

C++-API

Die Verwendung der C++-API eines Qt-Moduls erfordert die Einbindung der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.

QML-API

Die QML-Typen des Moduls sind über den Import „ QtCanvas2D “ verfügbar. Um die Typen zu verwenden, fügen Sie die folgende Importanweisung in Ihre .qml-Datei ein:

import QtCanvas2D

Erstellen mit CMake

Verwenden Sie den Befehl „ find_package() “, um die benötigte Modulkomponente im Paket „ Qt6 “ zu finden:

find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)

Weitere Informationen finden Sie in der Übersicht „Erstellen mit CMake “.

Shader, die mit „ QCanvasCustomBrush “ verwendet werden, werden mit der CMake-Funktion ` qt_add_custom_brush_shaders ` zum Projekt hinzugefügt.

Klassenreferenz

Beispiele

Alle Beispiele

Lizenzen und Urheberangaben

Die Qt Canvas Painter-Laufzeitbibliothek ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus steht sie unter der GNU General Public License, Version 3, zur Verfügung.

Weitere Informationen finden Sie unter „Qt-Lizenzierung “.

Darüber hinaus kann Qt Canvas Painter in Version 6.12.0 Module von Drittanbietern enthalten, die unter den folgenden freizügigen Lizenzen stehen:

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.