我是 C++/Qt 的新手,而且我只有一些 Web 开发经验。
为了学习目的,我正在用 Qt 测试一些东西,但我失败了。我很确定这是因为整个插槽/信号的事情还没有解决,所以我希望有人能让我更清楚。
所以,我有这个主程序 UI,我在其中放置了一个 QTextEdit 小部件。现在我正在尝试复制其中一个“文档有更改,最好保存它!” - 警告,并且每次有人尝试创建新文档时都会显示它。
当触发“新文档”选项时,我正在尝试测试 textEdit 小部件中的更改。我不断收到这些编译错误,我什至不知道它们是什么意思!什么是正确的测试条件?我如何引用 textEdit,因为它在其他地方被调用?
我正在尝试这样的事情:
无效记事本::on_actionNew_triggered()
{
//没有得到正确的测试条件!
如果(................................) {
QMessageBox 消息框;
msgBox.setText("警告!");
msgBox.setInformativeText("更改已应用于此文档。");
msgBox.setStandardButtons(QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Cancel);
int ret = msgBox.exec();
开关(ret){
案例 QMessageBox::Discard:
// 不保存被点击
ui->textEdit->clear();
休息;
案例 QMessageBox::取消:
msgBox.close();
休息;
默认:
// 永远不应该到达
休息;
}
}else{ui->textEdit->clear();}
}
我已经尝试搜索有关此的一些信息,并且我敢打赌,你们中的大多数人实际上可能认为这很明显,但是我在理解如何解决这个问题时遇到了真正的麻烦。