Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3#include <QApplication>
4#include <QtMath>
5#include <QPainter>
6#include <QVBoxLayout>
7#include <QWidget>
8
9
11{
12 void paintEvent(QPaintEvent *) override;
13};
14
15//! [0]
16void SimpleTransformation::paintEvent(QPaintEvent *)
17{
18 QPainter painter(this);
19 painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
20 painter.drawRect(0, 0, 100, 100);
21
22 painter.rotate(45);
23
24 painter.setFont(QFont("Helvetica", 24));
25 painter.setPen(QPen(Qt::black, 1));
26 painter.drawText(20, 10, "QTransform");
27}
28//! [0]
29
31{
32 void paintEvent(QPaintEvent *) override;
33};
34
35//! [1]
37{
38 QPainter painter(this);
39 painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
40 painter.drawRect(0, 0, 100, 100);
41
42 QTransform transform;
43 transform.translate(50, 50);
44 transform.rotate(45);
45 transform.scale(0.5, 1.0);
46 painter.setTransform(transform);
47
48 painter.setFont(QFont("Helvetica", 24));
49 painter.setPen(QPen(Qt::black, 1));
50 painter.drawText(20, 10, "QTransform");
51}
52//! [1]
53
55{
56 void paintEvent(QPaintEvent *) override;
57};
58
59//! [2]
60void BasicOperations::paintEvent(QPaintEvent *)
61{
62 const double a = qDegreesToRadians(45.0);
63 double sina = sin(a);
64 double cosa = cos(a);
65
66 QTransform scale(0.5, 0, 0, 1.0, 0, 0);
67 QTransform rotate(cosa, sina, -sina, cosa, 0, 0);
68 QTransform translate(1, 0, 0, 1, 50.0, 50.0);
69
70 QTransform transform = scale * rotate * translate;
71
72 QPainter painter(this);
73 painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
74 painter.drawRect(0, 0, 100, 100);
75
76 painter.setTransform(transform);
77
78 painter.setFont(QFont("Helvetica", 24));
79 painter.setPen(QPen(Qt::black, 1));
80 painter.drawText(20, 10, "QTransform");
81}
82//! [2]
83
84int main(int argc, char **argv)
85{
86 QApplication app(argc, argv);
87
88 QWidget widget;
89
92 BasicOperations *basicWidget = new BasicOperations;
93
94 QVBoxLayout *layout = new QVBoxLayout(&widget);
95 layout->addWidget(simpleWidget);
96 layout->addWidget(combinedWidget);
97 layout->addWidget(basicWidget);
98
99 widget.show();
100 widget.resize(130, 350);
101 return app.exec();
102}
void paintEvent(QPaintEvent *) override
[2]
Definition main.cpp:60
void paintEvent(QPaintEvent *) override
[1]
Definition main.cpp:36
void paintEvent(QPaintEvent *) override
[0]
Definition main.cpp:16
int main(int argc, char *argv[])
[ctor_close]