如果只有两个lineEdit填充了文本,如何实现启用按钮的功能?
答案 0 :(得分:5)
您希望监控两行的修改:
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()
);
}
如果您只关心用户编辑,则可以使用textEdited(const QString&)信号代替textChanged信号。
答案 1 :(得分:1)
连接两个小部件' textChanged
向同一个插槽发出信号,该插槽调用
button -> setEnabled (edit1 -> text .size () && edit2 -> text .size ())