【发布时间】:2013-04-16 14:10:44
【问题描述】:
我是 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();} }我已尝试搜索有关此问题的一些信息,我敢打赌,你们中的大多数人实际上可能认为这很明显,但我很难理解如何解决这个问题。
【问题讨论】:
-
你能发布编译错误吗?
标签: qt signals-slots qtextedit textchanged