我是 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();} }
我已经尝试搜索有关此的一些信息,并且我敢打赌,你们中的大多数人实际上可能认为这很明显,但是我在理解如何解决这个问题时遇到了真正的麻烦。