Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 复制qDebug()输出_C++_Qt_Logging - Fatal编程技术网

C++ 复制qDebug()输出

C++ 复制qDebug()输出,c++,qt,logging,C++,Qt,Logging,我想将qDebug()输出保存在日志文件中,并在控制台上显示它,我尝试了以下方法: qDebug() << "Hand's up!"; QTextStream stream(stdout); QTextStream out(&logFile); out << stream.readAll(); qDebug()您可以安装您创建的消息处理程序,这里有一个很好的示例:。这将允许您正常使用qDebug()调用并将其输出,并且您可以在写入消息时调整消息。您可以安装您创建

我想将qDebug()输出保存在日志文件中,并在控制台上显示它,我尝试了以下方法:

qDebug() << "Hand's up!";
QTextStream stream(stdout);
QTextStream out(&logFile);
out << stream.readAll();

qDebug()您可以安装您创建的消息处理程序,这里有一个很好的示例:。这将允许您正常使用qDebug()调用并将其输出,并且您可以在写入消息时调整消息。

您可以安装您创建的消息处理程序,这里有一个很好的示例:。这将允许您正常使用qDebug()调用并将其输出,并且您可以在写入消息时调整消息。

您可以安装您创建的消息处理程序,这里有一个很好的示例:。这将允许您正常使用qDebug()调用并将其输出,并且您可以在写入消息时调整消息。

您可以安装您创建的消息处理程序,这里有一个很好的示例:。这将允许您正常使用qDebug()调用并将其输出,并且您可以在写入消息时调整消息。

使用
qDebug
类,而不仅仅使用
qDebug()


qDebug()
使用默认设置创建调试对象,如发送输出字符串的位置。如果您自己创建一个对象,您可以对其进行更多的控制。

使用
QDebug
类,而不仅仅是使用
QDebug()


qDebug()
使用默认设置创建调试对象,如发送输出字符串的位置。如果您自己创建一个对象,您可以对其进行更多的控制。

使用
QDebug
类,而不仅仅是使用
QDebug()


qDebug()
使用默认设置创建调试对象,如发送输出字符串的位置。如果您自己创建一个对象,您可以对其进行更多的控制。

使用
QDebug
类,而不仅仅是使用
QDebug()



qDebug()
使用默认设置创建调试对象,如发送输出字符串的位置。如果你自己创建一个对象,你可以更好地控制它。

我会稍微修改一下代码,因为对于致命消息,程序会在将消息写入文本文件之前中止。这一点很好,不久前我写了它的一个变体,但忘记了修复它。我试过你的,下面是我得到的
未声明标识符'qInstallMsgHandler'的用法;你的意思是“qInstallMessageHandler”
,所以我更正了,这更糟了。你说得对,Samoth,API已经用Qt5更改了。新函数处理程序有一个额外的参数。请参阅文档,您可以在创建
QApplication
实例时设置应用程序名,然后从该类在程序中的任何位置访问它。我会稍微修改代码,因为对于致命消息,程序将在将消息写入文本文件之前中止。很好,不久前我写了它的一个变体,但忘记了修复它。我试过你的,下面是我得到的
未声明标识符'qInstallMsgHandler'的用法;你的意思是“qInstallMessageHandler”
,所以我更正了,这更糟了。你说得对,Samoth,API已经用Qt5更改了。新函数处理程序有一个额外的参数。请参阅文档,您可以在创建
QApplication
实例时设置应用程序名,然后从该类在程序中的任何位置访问它。我会稍微修改代码,因为对于致命消息,程序将在将消息写入文本文件之前中止。很好,不久前我写了它的一个变体,但忘记了修复它。我试过你的,下面是我得到的
未声明标识符'qInstallMsgHandler'的用法;你的意思是“qInstallMessageHandler”
,所以我更正了,这更糟了。你说得对,Samoth,API已经用Qt5更改了。新函数处理程序有一个额外的参数。请参阅文档,您可以在创建
QApplication
实例时设置应用程序名,然后从该类在程序中的任何位置访问它。我会稍微修改代码,因为对于致命消息,程序将在将消息写入文本文件之前中止。很好,不久前我写了它的一个变体,但忘记了修复它。我试过你的,下面是我得到的
未声明标识符'qInstallMsgHandler'的用法;你的意思是“qInstallMessageHandler”
,所以我更正了,这更糟了。你说得对,Samoth,API已经用Qt5更改了。新函数处理程序有一个额外的参数。有关详细信息,请参阅文档。您可以在创建
QApplication
实例时设置应用程序名称,然后从该类在程序中的任何位置访问它。这仅适用于您自己的调试消息。对于您尚未编写的代码,如Qt库中的代码,您需要使用Nocholas Smith的答案来捕获这些消息。@Robbie事实上,我只想要我的。但是我不明白如何将流复制到一个文件而不从输出中删除它。这只适用于您自己的调试消息。对于您尚未编写的代码,如Qt库中的代码,您需要使用Nocholas Smith的答案来捕获这些消息。@Robbie事实上,我只想要我的。但是我不明白如何将流复制到一个文件而不从输出中删除它。这只适用于您自己的调试消息。对于您尚未编写的代码,如Qt库中的代码,您需要使用Nocholas Smith的答案来捕获这些消息。@Robbie事实上,我只想要我的。但是我不明白如何将流复制到一个文件而不从输出中删除它。这只适用于您自己的调试消息。对于您尚未编写的代码,如Qt库中的代码,您需要使用Nocholas Smith的答案来捕获这些消息。@Robbie事实上,我只想要我的。但我不明白如何将流复制到文件中,而不将其从输出中删除