Zeichnen und Füllen
Zeichnen
QPainter bietet hochoptimierte Funktionen für die meisten Zeichenvorgänge, die GUI-Programme benötigen. Es kann alles zeichnen, von einfachen grafischen Primitiven (dargestellt durch die Klassen ` QPoint`, ` QLine`, ` QRect`, ` QRegion ` und ` QPolygon `) bis hin zu komplexen Formen wie Vektorpfaden. In Qt werden Vektorpfade durch die Klasse ` QPainterPath ` dargestellt. ` QPainterPath ` stellt einen Container für Zeichenoperationen bereit, der es ermöglicht, grafische Formen zu konstruieren und wiederzuverwenden.
| QPainterPath Ein Painter-Pfad ist ein Objekt, das sich aus Linien und Kurven zusammensetzt. Ein Rechteck besteht beispielsweise aus Linien, eine Ellipse aus Kurven. Der Hauptvorteil von Painter-Pfaden gegenüber normalen Zeichenoperationen besteht darin, dass komplexe Formen nur einmal erstellt werden müssen; anschließend können sie durch einfache Aufrufe der Funktion ` QPainter::drawPath()` mehrfach gezeichnet werden. Ein ` QPainterPath `-Objekt kann zum Füllen, Umreißen und Ausschneiden verwendet werden. Um füllbare Umrisse für einen bestimmten Malerpfad zu erzeugen, verwenden Sie die Klasse ` QPainterPathStroker `. |
Linien und Konturen werden mithilfe der Klasse ` QPen ` gezeichnet. Ein Stift wird durch seinen Stil (d. h. seinen Linientyp), seine Breite, seinen Pinsel, die Art und Weise, wie die Endpunkte gezeichnet werden (Endpunktstil), und die Art und Weise, wie Verbindungsstellen zwischen zwei verbundenen Linien gezeichnet werden (Verbindungsstil), definiert. Der Pinsel des Stifts ist ein „ QBrush “-Objekt, das zum Ausfüllen der mit dem Stift erzeugten Striche verwendet wird, d. h. die Klasse „ QBrush “ definiert das Füllmuster.
QPainter kann außerdem ausgerichteten Text und Pixmaps zeichnen.
Beim Zeichnen von Text wird die Schriftart mithilfe der Klasse „ QFont “ festgelegt. Qt verwendet die Schriftart mit den angegebenen Attributen; falls keine passende Schriftart vorhanden ist, verwendet Qt die am besten passende installierte Schriftart. Die Attribute der tatsächlich verwendeten Schriftart können mithilfe der Klasse „ QFontInfo “ abgerufen werden. Darüber hinaus liefert die Klasse „ QFontMetrics “ die Schriftgrößenangaben, und die Klasse „ QFontDatabase “ liefert Informationen zu den im zugrunde liegenden Fenstersystem verfügbaren Schriftarten.
Normalerweise zeichnet „ QPainter “ in einem „natürlichen“ Koordinatensystem, kann jedoch mithilfe der Klasse ` QTransform ` Ansichts- und Welttransformationen durchführen. Weitere Informationen finden Sie unter „Koordinatensystem“, wo auch der Rendering-Prozess – d. h. die Beziehung zwischen der logischen Darstellung und den gerenderten Pixeln – sowie die Vorteile des Anti-Aliasing-Renderings beschrieben werden.
| Anti-Aliasing Beim Zeichnen wird die Pixelwiedergabe durch den Render-Hinweis „ QPainter::Antialiasing “ gesteuert. Die Enumeration „ QPainter::RenderHint “ dient dazu, Flags an „ QPainter “ zu übergeben, die von einer bestimmten Engine berücksichtigt werden können oder auch nicht. Der Wert „ QPainter::Antialiasing “ gibt an, dass die Engine die Kanten von Primitiven nach Möglichkeit glätten soll, d. h. die Kanten durch die Verwendung unterschiedlicher Farbintensitäten glätten soll. |
|
Füllung
Formen werden mithilfe der Klasse ` QBrush ` ausgefüllt. Ein Pinsel wird durch seine Farbe und seinen Stil (d. h. sein Füllmuster) definiert.
Jede Farbe in Qt wird durch die Klasse ` QColor ` dargestellt, die die Farbmodelle RGB, HSV und CMYK unterstützt. ` QColor ` unterstützt zudem das Konturieren und Füllen mit Alpha-Blending (zur Festlegung des Transparenzeffekts), und die Klasse ist plattform- und geräteunabhängig. Weitere Informationen finden Sie in der Dokumentation zur Klasse ` QColor `.
Die verfügbaren Füllmuster werden durch die Enumeration „ Qt::BrushStyle “ beschrieben. Dazu gehören grundlegende Muster, die von einheitlichen Farben bis hin zu sehr spärlichen Mustern reichen, sowie verschiedene Linienkombinationen, Farbverlaufsfüllungen und Texturen. Qt stellt die Klasse „ QGradient “ zur Definition benutzerdefinierter Farbverlaufsfüllungen bereit, während Texturmuster mithilfe der Klasse „ QPixmap “ festgelegt werden.
| QGradient Die Klasse ` QGradient ` wird in Kombination mit ` QBrush ` verwendet, um Farbverlaufsfüllungen festzulegen.
Qt unterstützt derzeit drei Arten von Farbverlaufsfüllungen: Lineare Farbverläufe interpolieren Farben zwischen Start- und Endpunkt, radiale Farbverläufe interpolieren Farben zwischen einem Mittelpunkt und Endpunkten auf einem ihn umgebenden Kreis, und konische Farbverläufe interpolieren Farben um einen Mittelpunkt herum. |
© 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.



