Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
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
10
class
SimpleTransformation
:
public
QWidget
11
{
12
void
paintEvent
(QPaintEvent *)
override
;
13
};
14
15
//! [0]
16
void
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
30
class
CombinedTransformation
:
public
QWidget
31
{
32
void
paintEvent
(QPaintEvent *)
override
;
33
};
34
35
//! [1]
36
void
CombinedTransformation
::
paintEvent
(QPaintEvent *)
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
54
class
BasicOperations
:
public
QWidget
55
{
56
void
paintEvent
(QPaintEvent *)
override
;
57
};
58
59
//! [2]
60
void
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
84
int
main
(
int
argc,
char
**argv)
85
{
86
QApplication app(argc, argv);
87
88
QWidget widget;
89
90
SimpleTransformation
*simpleWidget =
new
SimpleTransformation
;
91
CombinedTransformation
*combinedWidget =
new
CombinedTransformation
;
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
}
BasicOperations
[1]
Definition
main.cpp:55
BasicOperations::paintEvent
void paintEvent(QPaintEvent *) override
[2]
Definition
main.cpp:60
CombinedTransformation
[0]
Definition
main.cpp:31
CombinedTransformation::paintEvent
void paintEvent(QPaintEvent *) override
[1]
Definition
main.cpp:36
SimpleTransformation
Definition
main.cpp:11
SimpleTransformation::paintEvent
void paintEvent(QPaintEvent *) override
[0]
Definition
main.cpp:16
main
int main(int argc, char *argv[])
[ctor_close]
Definition
src_corelib_animation_qpropertyanimation.cpp:100
qtbase
src
gui
doc
snippets
transform
main.cpp
Generated on
for Qt by
1.18.0