Ответы пользователя по тегу PyQt
  • PyQt 5: условие с QLabel.setText() не меняет значение на форме, как исправить?

    phoenixbk
    @phoenixbk
    Здравствуйте!
    А где "groupBox" добавляется в окно? Сделал простенький вариант с классном на основе QWidget. Всё отображается как надо.
    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QGroupBox, QVBoxLayout, QLabel, QPushButton
    
    class Example(QWidget):
        def __init__(self):
            super().__init__()
            l = QVBoxLayout()
            b = QPushButton('Добавить без параметра!')
            b.clicked.connect(lambda: self.function1())
            b2 = QPushButton('Добавить с параметром!')
            b2.clicked.connect(lambda: self.function1(args='параметр'))
            l.addWidget(b)
            l.addWidget(b2)
            self.setLayout(l)
            self.show()
    
        def function1(self, args=None):
            groupBox = QGroupBox("Титле")
            vbox = QVBoxLayout()
            vbox.addStretch(1)
            groupBox.setLayout(vbox)
    
            integerLabel = QLabel('test')
            vbox.addWidget(integerLabel)
            print('свойство сейчас:' + integerLabel.text())
            if args is not None:
                integerLabel.setText('1')
                print('Тест попадения функции')
                print('Поменялось на:' + args)
            print('свойство сейчас 2:' + integerLabel.text())
            self.layout().addWidget(groupBox)
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        w = Example()
        w.resize(250, 150)
        w.setWindowTitle('Simple')
        w.show()
        sys.exit(app.exec_())
    Ответ написан
    1 комментарий