Aki*_*iva 4 c++ qt stdout qdebug qtextstream
到目前为止,我使用qDebug().noquote()
. 这很容易,因为它只需要一个简单的#import <QDebug>
现在我需要将所有内容输出到stdout
,但我不知道如何轻松完成。我是这样被教导的:
QTextStream cout(stdout, QIODevice::WriteOnly);
Run Code Online (Sandbox Code Playgroud)
然而,创建一个新对象比一个简单的#import <QDebug>
. stdout
在qt中处理的好/最不麻烦的方法是什么?
qDebug()
、qInfo()
等都通过管道传输到默认消息处理程序。但是您可以轻松安装自己的,将调试字符串写入不同的流、文件或任何内容。您需要做的就是定义一个消息处理函数并使用qInstallMessageHandler()安装它。
把它们放在一起,这是一个完整的例子:
#include <QDebug>
void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QTextStream cout(stdout, QIODevice::WriteOnly);
cout << msg << endl;
}
int main(int argc, char *argv[])
{
qInstallMessageHandler(myMessageOutput);
qDebug().noquote() << "Hello world!";
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4432 次 |
最近记录: |