Python 3.x 只有当两行编辑输入小部件包含文本时,如何设置按钮才有效

Python 3.x 只有当两行编辑输入小部件包含文本时,如何设置按钮才有效,python-3.x,pyqt5,Python 3.x,Pyqt5,我创建了两行编辑输入小部件和一个按钮。 我需要设置按钮应该只在两行编辑包含文本时才起作用。 我需要将两行编辑输入小部件设置为必填项。您可以将QLineEdit.textEdited信号连接到一个函数,以检查所有必需字段是否包含文本,并相应地启用/禁用按钮。以下是一个例子: import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * class Template(QWi

我创建了两行编辑输入小部件和一个按钮。 我需要设置按钮应该只在两行编辑包含文本时才起作用。
我需要将两行编辑输入小部件设置为必填项。

您可以将
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_())