仅在填写两个字段时启用按钮

sma*_*llB 1 c++ qt

如何实现只有在两个lineEdit填充文本时才启用按钮的功能?

Kal*_*son 5

您想要监控两个行编辑以进行更改:

connect(lineEdit1, SIGNAL(textChanged(const QString&)), SLOT(checkShouldEnableButton()));
connect(lineEdit2, SIGNAL(textChanged(const QString&)), SLOT(checkShouldEnableButton()));
Run Code Online (Sandbox Code Playgroud)

然后,当两个文本都存在时,您需要启用/禁用该按钮:

void YourWidget::checkShouldEnableButton() {
    button->setEnabled(
        !lineEdit1->text().isEmpty() && !lineEdit2->text().isEmpty()
        );
}
Run Code Online (Sandbox Code Playgroud)

如果您只关心用户编辑,则可以使用textEdited(const QString&)信号而不是textChanged信号.