how to set a text as a label when button is clicked?
12,653
The problem is simple, you are creating another QLabel
, and that is not what you want, you just have to update the text.
@pyqtSlot()
def on_click(self):
self.labl.setText('some text')
self.labl.adjustSize()
Author by
Admin
Updated on June 14, 2022Comments
-
Admin almost 2 years
I want to set text as label when button is clicked. self.labl.setText does work normally, but it doesn't work when it is in button function. I have read all the similar questions here, but still didn't solve the problem :(
import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel from PyQt5.QtCore import pyqtSlot class App(QWidget): def __init__(self): super().__init__() self.title = 'title' self.left = 10 self.top = 10 self.width = 640 self.height = 480 self.initUI() def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) self.labl = QLabel(self) self.labl.setText('abc') button = QPushButton('button', self) button.move(170,300) button.clicked.connect(self.on_click) self.show() @pyqtSlot() def on_click(self): self.labl = QLabel(self) self.labl.setText('abc') if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_())