只有在填充了两个字段时才启用按钮

Enabling a button only if two fields are filled

本文关键字:字段 两个 按钮 启用 填充      更新时间:2023-10-16

如何实现这样的功能,一个按钮是启用的,只有当两个lineEdit的填充文本?

您想要监视两行编辑的更改:

connect(lineEdit1, SIGNAL(textChanged(const QString&)), SLOT(checkShouldEnableButton()));
connect(lineEdit2, SIGNAL(textChanged(const QString&)), SLOT(checkShouldEnableButton()));

然后当文本同时出现时,你需要启用/禁用按钮:

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

如果您只关心用户编辑,您可以使用texttedited (const QString&)信号代替textChanged信号

将两个小部件的textChanged信号连接到同一个插槽,调用

button -> setEnabled (edit1 -> text .size () && edit2 -> text .size ())