Как установить Кнопка pu sh должна работать только тогда, когда двухстрочные виджеты ввода содержат текст - PullRequest
1 голос
/ 15 марта 2020

Я создал две строки редактирования виджетов ввода и одну кнопку pu sh. Мне нужно установить кнопку pu sh должна работать только тогда, когда два строковых редактирования содержат текст. Мне нужно установить двухстрочные виджеты ввода как обязательные.

1 Ответ

1 голос
/ 15 марта 2020

Вы можете подключить сигнал QLineEdit.textEdited к функции, чтобы проверить, содержат ли все обязательные поля текст, и соответственно включить / отключить кнопку. Вот пример:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

class Template(QWidget):

    def __init__(self):
        super().__init__()
        self.f1 = QLineEdit()
        self.f1.textEdited.connect(self.check_input)
        self.f2 = QLineEdit()
        self.f2.textEdited.connect(self.check_input)
        self.btn = QPushButton('Enter')
        self.btn.setDisabled(True)

        form = QFormLayout(self)
        form.addRow('Field 1', self.f1)
        form.addRow('Field 2', self.f2)
        form.addRow(self.btn)

    def check_input(self):
        if self.f1.text() and self.f2.text():
            self.btn.setEnabled(True)
        else:
            self.btn.setDisabled(True)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    gui = Template()
    gui.show()
    sys.exit(app.exec_())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...