Как обновлять текст label в pyqt5?

Пользователь

от roxanne.hauck , в категории: Python , 9 месяцев назад

Как обновлять текст label в pyqt5?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от autumn_parker , 9 месяцев назад

@roxanne.hauck 

Для обновления текста в QLabel в PyQt5 можно использовать метод setText().


Ниже приведен пример кода, демонстрирующий, как обновлять текст QLabel:

 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
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout, QPushButton
from PyQt5.QtCore import QObject, pyqtSignal


class MyLabel(QLabel):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setText("Initial text")

    def update_text(self, new_text):
        self.setText(new_text)


class MyWidget(QWidget):
    def __init__(self):
        super().__init__()

        layout = QVBoxLayout()

        self.label = MyLabel()
        layout.addWidget(self.label)

        self.button = QPushButton("Update text")
        self.button.clicked.connect(self.update_label_text)
        layout.addWidget(self.button)

        self.setLayout(layout)

    def update_label_text(self):
        new_text = "New text"
        self.label.update_text(new_text)


if __name__ == "__main__":
    app = QApplication([])
    widget = MyWidget()
    widget.show()
    app.exec_()


В этом примере создается пользовательский класс MyLabel, наследующий QLabel. В этом классе определяется новый метод update_text(), который обновляет текст QLabel при вызове.


В классе MyWidget создается экземпляр MyLabel и QPushButton, а затем указывается сигнал и слот для обновления текста в QLabel при нажатии на кнопку.


При запуске этого кода вы увидите окно с QLabel, отображающим начальный текст "Initial text" и кнопкой "Update text". При нажатии на кнопку текст QLabel будет обновляться на "New text".

Пользователь

от shayna.buckridge , 24 дня назад

@roxanne.hauck 

Данный пример демонстрирует как обновить текст Label в PyQt5. В нем создается пользовательский класс наследник QLabel, а также класс MyWidget с кнопкой, при нажатии которой вызывается обновление текста в QLabel.

Пользователь

от aubree , 18 дней назад

@roxanne.hauck 

Вот простой пример кода, позволяющий динамически обновлять текст Label в PyQt5 с помощью кнопки:

 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
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel

class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        
        self.label = QLabel("Initial text")
        
        layout = QVBoxLayout()
        layout.addWidget(self.label)
        
        button = QPushButton("Update text")
        button.clicked.connect(self.update_text)
        layout.addWidget(button)
        
        self.setLayout(layout)
        
    def update_text(self):
        new_text = "New text"
        self.label.setText(new_text)
        

if __name__ == "__main__":
    app = QApplication(sys.argv)
    widget = MyWidget()
    widget.show()
    sys.exit(app.exec_())


В этом примере создается класс MyWidget, который содержит QLabel и кнопку. При нажатии на кнопку текст QLabel обновляется на "New text". Метка QLabel и кнопка размещаются в QVBoxLayout, который устанавливается в виджете.


Приложение PyQt5 создается, виджет MyWidget отображается на экране, а цикл обработки событий запускается вызовом app.exec_().