У меня есть поле QLineEdit и QPushButton. Кнопка должна быть отключена, поскольку QLineEdit пуст.Как отключить кнопку, если поле редактирования не пустое?
Как это сделать?
У меня есть поле QLineEdit и QPushButton. Кнопка должна быть отключена, поскольку QLineEdit пуст.Как отключить кнопку, если поле редактирования не пустое?
Как это сделать?
хорошо, я буду только заключить, что они сказали в комментариях, некоторый код, как
self.btnButton.setDisable(True)
self.leInput.textChanged.connect(self.disableButton)
def disableButton(self):
if len(self.leInput.text()) > 0:
self.btnButton.setDisable(False)
и да, сигналы/имена функций очевидны, вам нужно проверить больше на Docs/воспитателя
Вот один вкладыш решение:
self.textBox.textChanged[str].connect(lambda: self.myBtn.setEnabled(self.textBox.text() != ""))
Вы все еще должны установить начальное состояние кнопки Ложь. Однако вы можете сделать это в декларации. например
self.myBtn = QtGui.QPushButton("My Button", enabled=False)
Первоначально выключайте кнопку; а затем на EditField, как только он примет какой-либо ввод, измените его кнопку - если есть текст, он включает кнопку, если пользователь удалил весь текст, отключите кнопку. – dwanderson
Возможно, вы захотите проверить [сигналы и слоты в Pyside] (https://wiki.qt.io/Signals_and_Slots_in_PySide). Ваш QEditLine выдает сигнал [textChanged] (https://deptinfo-ensip.univ-poitiers.fr/EN/pyside-docs/PySide/QtGui/QLineEdit.html#PySide.QtGui.PySide.QtGui.QLineEdit.textChanged), когда ... ну, его текст меняется, и вы можете проверить, что такое текущий текст, и соответственно настроить состояние кнопки. – Hans