私は C++/Qt の初心者で、Web 開発の経験が少ししかありません。
学習目的で Qt でいくつかのことをテストしていますが、惨めなほど失敗しています。スロット/シグナル全体がまだ落ち着いていないためだと確信しているので、誰かが私のためにそれをより明確にしてくれることを望んでいました.
QTextEdit ウィジェットを配置したこのメイン プログラム UI があります。現在、「ドキュメントに変更があります。保存したほうがよいでしょう!」という警告の 1 つを再現しようとしていますが、誰かが新しいドキュメントを作成しようとするたびに表示されます。
「新しいドキュメント」オプションがトリガーされたときに textEdit ウィジェットの変更をテストしようとしています。これらのコンパイル エラーが何度も発生しますが、その意味さえわかりません。正しいテスト条件は何でしょうか? 別の場所で呼び出されているため、textEdit を参照するにはどうすればよいですか?
私はこのようなことを試みています:
void メモ帳::on_actionNew_triggered()
{
// テスト条件が正しくありません!
もしも(................................) {
QMessageBox msgBox;
msgBox.setText("警告!");
msgBox.setInformativeText("このドキュメントに変更が適用されました。");
msgBox.setStandardButtons(QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Cancel);
int ret = msgBox.exec();
スイッチ (戻る) {
ケース QMessageBox::破棄:
// [保存しない] がクリックされました
ui->textEdit->clear();
壊す;
ケース QMessageBox::キャンセル:
msgBox.close();
壊す;
デフォルト:
// 決して到達してはならない
壊す;
}
}else{ui->textEdit->clear();}
}
これについていくつかの情報を検索してみましたが、実際にはほとんどの人がこれはかなり明白だと思うかもしれませんが、これを回避する方法を理解するのに本当に苦労しています.