Я пытаюсь написать простой код, который изменит существующий текстовый виджет на другой, когда пользователь нажмет кнопку. Так что яPyQt: как заменить виджет кнопкой?
title1=QtGui.QLabel('Hello')
title2=QtGui.QLabel('bye')
abutton=QtGui.QPushButton('Click me')
grid.addWidget(title1,1,5)
grid.addWidget(abutton,3,5)
и у меня есть функция:
def myfunc(self):
self.grid.removeWidget(self.title1)
self.grid.addWidget(title2,1,5)
, который я ожидаю, чтобы изменить мой «привет» до «до свидания» после того, как я это делаю:
abutton.clicked.connect(self.myfunc)
но видимо, это не работает. И я проверил: removeWidged работает отлично вне функции (моя первая мысль была, может быть, я делал что-то не так в функции), а также функция сама работает (я проверил ее, сделав в печатных материалах, и это произошло однажды Я нажал кнопку, но виджет все еще был там)
что я могу делать неправильно? Благодарю.
Это опечатка title2 = QtGui.QLalel ('bye') в вашем коде или только в этом вопросе? (QLalel не QLabel) –
это только вот извините. Я разместил его в качестве примера. UPD: отредактировано сообщение – yellalena
Вы подтвердили, что ваш обратный вызов вызывается при нажатии кнопки? –