QT程序控制台对于使用者来说很厌烦,因为用户在用软件不需要知道程序是怎么跑的。但是这个问题对于开发人员来说很重要,如果程序出了问题需要排查哪里出了问题,最方便的调试是在控制台输出东西。
参考链接:
1、在QT的GUI程序中显示控制台
1、在qt工程文件中设置
在QT的*.pro工程文件中增加如下代码
CONFIG += console
2、在QTCreator中设置
点击“项目” -> “Run” -> 勾选"Run in terminal"
3、通过外部传参动态调用窗口界面是否显示
该方法需要通过外部传参,如果外部的参数为显示控制台,则调用显示控制台函数,否则默认不显示控制台。Demo样例如下
#include <Windows.h>
void openTerminal();
int main(int argc ,char* argv[])
{
if(atoi(argv[1])==1)
{//如果第一个参数传参等于1,则调用显示控制台
openTerminal();
}
return 0;
}
void openTerminal()
{
AllocConsole();//打开控制台
freopen("CON","w",stdout);//将输出定向到控制台
}
注意:上面的写法只能捕捉到cout()函数和printf(),不能捕捉到qDebug方法输出的东西,怎么捕捉到qDebug方法输出东西如果谁知道可以进一步再完善