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
|
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
from __future__ import annotations
# PySide6 tutorial 6
import sys
from PySide6.QtCore import Qt
from PySide6.QtGui import QFont
from PySide6.QtWidgets import (QApplication, QGridLayout, QLCDNumber,
QPushButton, QSlider, QVBoxLayout, QWidget)
class LCDRange(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
lcd = QLCDNumber(2)
slider = QSlider(Qt.Orientation.Horizontal)
slider.setRange(0, 99)
slider.setValue(0)
slider.valueChanged.connect(lcd.display)
layout = QVBoxLayout(self)
layout.addWidget(lcd)
layout.addWidget(slider)
class MyWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
quit = QPushButton("Quit")
quit.setFont(QFont("Times", 18, QFont.Weight.Bold))
quit.clicked.connect(qApp.quit) # noqa: F821
layout = QVBoxLayout(self)
layout.addWidget(quit)
grid = QGridLayout()
layout.addLayout(grid)
for row in range(3):
for column in range(3):
grid.addWidget(LCDRange(), row, column)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec())
|