c++ - 如何将 QMessageBox 文本重定向到文本文件

标签 c++ qt

在我的项目中,很多时候我都在使用 QMessageBox。这是警告/信息。例如如果我正在进行一些验证,那么我正在使用一些 QMessageBox::information(…) ,或者如果我想限制用户不要移出特定页面,那么我正在使用 QMessageBox::critical(…) 。 我知道“如何将 qDebug 输出重定向到文件”。我也想为 QMessagebox 做同样的事情。这样我就可以在我的项目文件夹中维护一个文本文件。每当应用程序运行时,如果用户通过 QMessagebox 遇到一些消息,那么该消息将被重定向到该文本文件。因此,在关闭应用程序后,用户有一个小的消息详细信息列表,无论他在运行应用程序期间遇到了什么。

请帮我写这段代码..

提前谢谢xx。

最佳答案

您可以声明自己的静态信息、警告和关键函数,这些函数将显示原始 QMessageBox 并写入一些内容以记录。

static StandardButton information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton);

StandardButton information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons, StandardButton defaultButton) 
{
   qDebug() << "writing to log";
   return QMessageBox::information (parent, title, text, buttons, defaultButton)
}

关于c++ - 如何将 QMessageBox 文本重定向到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13473947/

相关文章:

c++ - 如何识别子部件内的 QMouseEvent?

c++ - QTableView + QAbstractTableModel : Move rows via drag'n'drop

C++:返回对象时不解构对象?

c++ - Qt 接口(interface)或抽象类和 qobject_cast()

windows - make 不被识别为内部或外部命令 - Qt SDK - Windows

c++ - 如何使用 "trusty"图像在本地执行 C++ 程序的 Travis CI?

QT:构建时 Ui 不会刷新

c++ - 如何在C++中生成随机数?

c++ - static_cast - 兼容类型之间的转换意味着什么?

c++ - 如何在 Eclipse 中启用 C++11 支持?