QtQuick Row Layout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
ApplicationWindow {
visible: true
width: 600
height:200
title: "Template App"
property var timer
property int counter
RowLayout {
anchors.fill: parent
Button {
id: startTimer
text: "Start timer"
Layout.fillWidth: true
Layout.fillHeight: true
Layout.margins: 20
onClicked: {
startTimer.enabled = false
stopTimer.enabled = true
timer.start()
}
}
Button {
id: stopTimer
text: "Stop timer"
Layout.fillWidth: true
Layout.fillHeight: true
Layout.margins: 20
onClicked: {
startTimer.enabled = true
stopTimer.enabled = false
timer.stop()
}
}
Label {
id: label
Layout.minimumWidth: 200
Layout.maximumWidth: 200
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: 48
font.bold: true
}
Connections {
target: timer
function onTimeout () {
counter++
label.text = counter
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import sys
from PySide6.QtCore import QObject, QTimer, Slot
from PySide6.QtGui import QGuiApplication
from PySide6.QtQml import QQmlApplicationEngine
class Logger(QObject):
@Slot(str)
def log(self, message):
print(message)
if __name__ == '__main__':
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.quit.connect(app.quit)
timer = QTimer()
timer.setInterval(1000)
engine.setInitialProperties({'timer': timer})
engine.load('02_rowlayout.qml')
result = app.exec()
del engine
sys.exit(result)