Qt 隐藏控制台窗口停止写入日志文件

Qt Hiding the console window stop writing the log file

本文关键字:日志 文件 隐藏 控制台 窗口 Qt      更新时间:2023-10-16

我有一个Qt项目。如果我使用Qt Creator启动我的应用程序,我从未看到任何控制台窗口。(但是exe将在任务管理器中看到)。

但是,如果我直接运行应用程序exe,则会弹出并关闭控制台窗口。

我通过从 project.pro 文件中删除CONFIG += console来隐藏控制台窗口。但这会改变影响qDebug()日志记录。即,日志文件(OKB 文件)中不添加任何内容。

开发环境:Qt 4.7.3/Windows

当没有控制台窗口时,所有调试输出都使用 OutputDebugString 发送到调试器。 即您可以从调试器(Visual Studio Express - 使用调试器的"输出"窗口)读取它,但不能通过运行类似 app > 1.txt 的内容将其重定向到文件(因为没有控制台的应用程序在技术上没有标准输出)。

或者,您可以安装自己的消息处理程序,以便使用 qInstallMsgHandler 调试消息,并根据需要编写自己的日志文件。