Привязать QTextEdit к QPushButton
Подскажите, как сделать кнопку неактивной пока в QTextEdit нет текста от пользователя?
У меня строчка выглядит так:
form.textEdit.textChanged.connect(lambda text:
form.btn_ticket.setEnabled(bool(text)))
Но при запуске, если начать вводить текст - приложение падает выдает ошибку:
Process finished with exit code -1073740791 (0xC0000409)
Спасибо.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Если вы хотите получать быстрые и правильные ответы - всегда предоставляйте минимально-воспроизводимый пример, который демонстрирует проблему.
Учитывая что это ваш первый вопрос, возможное решение может выглядеть так:
import sys
from PyQt5.Qt import *
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.textEdit = QTextEdit()
self.textEdit.textChanged.connect(self.text_changed)
self.btn_ticket = QPushButton('Button')
layout = QVBoxLayout(self)
layout.addWidget(self.textEdit)
layout.addWidget(self.btn_ticket)
self.text_changed()
def text_changed(self):
text=self.textEdit.toPlainText().strip()
if text:
self.btn_ticket.setEnabled(True)
else:
self.btn_ticket.setEnabled(False)
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setStyleSheet('QWidget {font-size: 17px;}')
myApp = MyApp()
myApp.show()
sys.exit(app.exec())

