ユーザーが多くのエントリを持っている場合、紛らわしいので、いくつかのエントリを数えてメッセージを出力したいと思います。
それにもかかわらず、ユーザーにはこの警告を無効にするオプションが必要です。
それが私が使いたかった理由QErrorMessage
です。
しかし、QErrorMessage
表示されるべきではない場合でも表示され続けました(/チェックボックスがオフになっている場合)。
これは私が書いた最短のコードです:
void checkNumber(int const &n)
{
if(n > CriticalNumber)
{
QErrorMessage msg(this);
msg.showMessage("too much!");
}
}
私は何かを忘れましたか?
面白いことに、チェックボックスを一度オフにすると、次の呼び出しごとにオフになります...
// 編集:
QErrorMessage
このエラーは、がクラスのメンバーであり、すべての呼び出しで初期化されていない場合でも発生します。
// edit2:
今では、このエラーは を使用したときにのみ発生すると確信していますQString::arg
。これは違いがないと思ったので、サンプル コードでは使用しませんでした。したがって、例は次のようになります。
void showError(int const &n, QErrorMessage *msg)
{
msg->showMessage(tr("%1 is too big").arg(n));
}
showError()
前の if ステートメントで呼び出されます。