Skip to main content

QT6 QLabel, LCD

QLabel

Класс QLabel используется для отображения сообщений и изображений, 

  • Импорт QLabel 
  • Создание объекта класса QLabel
  • Применение методов класса к переменной
from PyQt6.QtWidgets import QApplication, QWidget, QLabel
import sys 
 
class Window(QWidget): 
    def __init__(self): 
        super().__init__() 
        self.setGeometry(200,200, 700, 400) 
        self.setWindowTitle("Python GUI Development") 
        label = QLabel("", self)
        label.setText('first text in label')
 
app = QApplication(sys.argv) 
window = Window() 
window.show() 
sys.exit(app.exec())

Для создания метки с изображением текст не передается 

label = QLabel(self)

Таблица методов:

Метод Назначение
setText() Устанавливается новый текст метки
setNum() добавляет целое или двойное значение
clear() удаляет текст
setMovie()

установки изображения gif

movie = QMovie('images/sky.gif') 
movie.setSpeed(500) 
label.setMovie(movie) 
movie.start()

setFont() Изменения шрифта, setFont() ожидает класс QFont, (потомок QtGui) 
label.setFont(QFont("Sanserif", 15))
label.setStyleSheet()

Изменение цвета шрифта

label.setStyleSheet('color:red')

Добавление изображения


setPixamp() pixmap = QPixmap('images/python.png') 
label.setPixmap(pixmap) 
QImage, QBitmap QPicture

QLCDNumber

Класс для отображения 7-сегментного дисплея, отображает 5 (пять) 8- 10- 16- ричных элементов. 

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(200,200, 700, 400)
        self.setWindowTitle("Python GUI Development")

        self.timer = QTimer()
        self.timer.timeout.connect(self.update_lcd)
        self.timer.start(1000)

        self.create_button()

    def create_button(self):
        vbox = QVBoxLayout()

        self.lcd = QLCDNumber()
        self.lcd.setStyleSheet('background:red')

        vbox.addWidget(self.lcd)

        time = QTime.currentTime()
        text = time.toString('hh:mm')

        self.lcd.display(text)
        self.setLayout(vbox)

    def update_lcd(self):
        time = QTime.currentTime()
        text = time.toString('hh:mm')
        self.lcd.display(text)