QErrorMessage Class
QErrorMessage クラスは、エラーメッセージを表示するダイアログを提供します。詳細...
| ヘッダー: | #include <QErrorMessage> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QDialog |
パブリック関数
| QErrorMessage(QWidget *parent = nullptr) | |
| virtual | ~QErrorMessage() |
パブリックスロット
| void | showMessage(const QString &message) |
| void | showMessage(const QString &message, const QString &type) |
静的パブリックメンバー
| QErrorMessage * | qtHandler() |
再実装されたプロテクト関数
| virtual void | changeEvent(QEvent *e) override |
| virtual void | done(int a) override |
詳細な説明
エラーメッセージウィジェットは、テキストラベルとチェックボックスで構成されています。チェックボックスにより、ユーザーは将来同じエラーメッセージが再度表示されるかどうかを制御できます。通常、このチェックボックスには「このメッセージを再度表示する」というテキストが、適切な現地語に翻訳されて表示されます。
本番環境のアプリケーションでは、このクラスを使用して、ユーザーが一度だけ確認すればよいメッセージを表示することができます。このように QErrorMessage を使用するには、通常の方法でダイアログを作成し、showMessage() スロットを呼び出すか、シグナルを接続して表示します。
静的関数qtHandler()は、qInstallMessageHandler()を使用してメッセージハンドラを登録し、qDebug()、qWarning()、qFatal()の各メッセージを表示するQErrorMessageを作成します。これは、警告やエラーメッセージを表示するためのコンソールが利用できない環境で特に有用です。
どちらの場合も、QErrorMessage は保留中のメッセージをキューに入れ、順に表示します。新しいメッセージは、ユーザーが前のメッセージを受け入れた直後に表示されます。ユーザーがメッセージを再度表示しないように指定すると、そのメッセージは自動的にスキップされ、ダイアログはキュー内の次の適切なメッセージを表示します。
「標準ダイアログ」のサンプルでは、QErrorMessage やその他の組み込み Qt ダイアログの使用方法を示しています。

QMessageBox 、QStatusBar::showMessage()、および「標準ダイアログの例」も参照してください 。
メンバ関数のドキュメント
[explicit] QErrorMessage::QErrorMessage(QWidget *parent = nullptr)
指定されたparent を使用して、エラーハンドラウィンドウを作成して表示します。
ダイアログのデフォルトのwindow modality はプラットフォームによって異なります。ウィンドウのモーダリティは、showMessage()を呼び出す前にsetWindowModality()を呼び出すことで上書きできます。
[virtual noexcept] QErrorMessage::~QErrorMessage()
エラーメッセージのダイアログを閉じます。
[override virtual protected] void QErrorMessage::changeEvent(QEvent *e)
QWidget::changeEvent(QEvent *event) を再実装します。
[override virtual protected] void QErrorMessage::done(int a)
QDialog::done(int r) を再実装しています。
[static] QErrorMessage *QErrorMessage::qtHandler()
デフォルトのQtメッセージを出力するQErrorMessage オブジェクトへのポインタを返します。この関数は、そのようなオブジェクトがまだ存在しない場合に、そのオブジェクトを作成します。
このオブジェクトは、QLoggingCategory::defaultCategory() のログメッセージのみを出力します。
このオブジェクトは、すべてのメッセージを元のメッセージハンドラに転送します。
qInstallMessageHandlerも参照してください 。
[slot] void QErrorMessage::showMessage(const QString &message)
指定されたメッセージ「message 」を表示し、直ちに処理を終了します。ユーザーが「このメッセージを二度と表示しない」と設定している場合、この関数は何も行いません。
通常、メッセージは直ちに表示されます。ただし、保留中のメッセージがある場合は、後で表示されるようキューに入れられます。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
errorMessage, qOverload(&QErrorMessage::showMessage));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
errorMessage, [receiver = errorMessage](const QString &message) { receiver->showMessage(message); }); [slot] void QErrorMessage::showMessage(const QString &message, const QString &type)
指定されたメッセージ「message 」を表示し、直ちに処理を終了します。ユーザーが「type 」タイプのメッセージを二度と表示しないよう設定している場合、この関数は何も行いません。
通常、メッセージは直ちに表示されます。ただし、未処理のメッセージがある場合は、後で表示されるようキューに入れられます。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
errorMessage, qOverload(&QErrorMessage::showMessage));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
errorMessage, [receiver = errorMessage](const QString &message, const QString &type) { receiver->showMessage(message, type); }); 関連項目: showMessage()。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.