当用户有很多条目时,我计算了一些条目并想发出一条消息,因为它会令人困惑。
然而另一方面,用户应该可以选择禁用此警告。
这就是为什么我想使用QErrorMessage
.
但是QErrorMessage
即使不应该出现(/未选中复选框时),我也会继续出现。
这是我写的最短的代码:
void checkNumber(int const &n)
{
if(n > CriticalNumber)
{
QErrorMessage msg(this);
msg.showMessage("too much!");
}
}
我忘了什么吗?
有趣的是,在您取消选中该复选框后,在每次下一次调用中都未选中它......
// 编辑:
即使QErrorMessage
是我的班级成员并且没有在每次调用中初始化,也会发生此错误。
//编辑2:
现在我很确定,这个错误只发生在我使用QString::arg
. 我没有在示例代码中使用它,因为我认为这没有什么区别。所以这个例子应该是这样的:
void showError(int const &n, QErrorMessage *msg)
{
msg->showMessage(tr("%1 is too big").arg(n));
}
showError()
在前面的 if 语句中调用。