您想要监控两个行编辑以进行更改:
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信号.