如何检查两个 QLineEdit 如果它们不为空
How to check two QLineEdit If they are not empty
我有三个控件,两个 QTextLine
和一个 QPushButton
。
程序启动时,添加按钮会被禁用,必须两个QTextLine
不为空才能启用添加按钮。
我有以下代码,但效果不佳:
void Question_Answer::on_newQuestion_txt_textChanged(const QString &arg1)
{
if(arg1.isEmpty())
{
ui->addNewQuestion_btn->setEnabled(false);
}
else
{
ui->addNewQuestion_btn->setEnabled(true);
}
}
void Question_Answer::on_newAnswer_txt_textChanged(const QString &arg1)
{
if(ui->newAnswer_txt->text().isEmpty())
{
ui->addNewQuestion_btn->setEnabled(false);
}
else
{
ui->addNewQuestion_btn->setEnabled(true);
}
}
现在,如何检查两个 QTextLine
是否不为空,如果其中任何一个为空,如何禁用添加按钮。
只需连接一个插槽即可处理两个 LineEdits
的 textChanged
信号
void Question_Answer::onTextChanged(const QString &arg1){
if(ui->newAnswer_txt->text().isEmpty() || ui->newQuestion_txt->text().isEmpty()){
ui->addNewQuestion_btn->setEnabled(false);
}else{
ui->addNewQuestion_btn->setEnabled(true);
}
}
在header class:
// ...
private slots:
void onTextChanged();
// ...
在源文件中:
// Setup the connections in the constructor.
void Question_Answer::onTextChanged()
{
const bool editable1 = ui->newAnswer_txt->text().size() > 0;
const bool editable2 = ui->newQuestion_txt->text().size() > 0;
ui->addNewQuestion_btn->setEnabled( editable1 && editable2 );
}
我有三个控件,两个 QTextLine
和一个 QPushButton
。
程序启动时,添加按钮会被禁用,必须两个QTextLine
不为空才能启用添加按钮。
我有以下代码,但效果不佳:
void Question_Answer::on_newQuestion_txt_textChanged(const QString &arg1)
{
if(arg1.isEmpty())
{
ui->addNewQuestion_btn->setEnabled(false);
}
else
{
ui->addNewQuestion_btn->setEnabled(true);
}
}
void Question_Answer::on_newAnswer_txt_textChanged(const QString &arg1)
{
if(ui->newAnswer_txt->text().isEmpty())
{
ui->addNewQuestion_btn->setEnabled(false);
}
else
{
ui->addNewQuestion_btn->setEnabled(true);
}
}
现在,如何检查两个 QTextLine
是否不为空,如果其中任何一个为空,如何禁用添加按钮。
只需连接一个插槽即可处理两个 LineEdits
textChanged
信号
void Question_Answer::onTextChanged(const QString &arg1){
if(ui->newAnswer_txt->text().isEmpty() || ui->newQuestion_txt->text().isEmpty()){
ui->addNewQuestion_btn->setEnabled(false);
}else{
ui->addNewQuestion_btn->setEnabled(true);
}
}
在header class:
// ...
private slots:
void onTextChanged();
// ...
在源文件中:
// Setup the connections in the constructor.
void Question_Answer::onTextChanged()
{
const bool editable1 = ui->newAnswer_txt->text().size() > 0;
const bool editable2 = ui->newQuestion_txt->text().size() > 0;
ui->addNewQuestion_btn->setEnabled( editable1 && editable2 );
}