重定向debugger的详细博客以及用法的具体博客:Qt重定向QDebug,自定义一个简易的日志管理类_龚建波的博客-CSDN博客
上面的博客中没有提到具体的debug输出到控件中,现在详细整理一下这个方法
1.在头文件中定义一个静态的类变量:
public :
static MultipleCameras* g_MultipleCamerasWidget;
2.在cpp类中初始化类变量,以及加一个判断程序是否在运行的变量:
//初始化类变量
MultipleCameras* MultipleCameras::g_MultipleCamerasWidget = nullptr;
//判断程序是否在运行的变量
bool g_exit = false;
3.定义一个控件接收debug输出的类
//头文件中定义类
void onNewMsg(QString msg);
//cpp中实现类
void MultipleCameras::onNewMsg(QString msg)
{
ui->messageEdit->append(msg);
}
4.在cpp类中重定向一个MessageHandle,在里面实现需要的功能,代码中的意思是判断程序是否在运行,如果是false说明在运行,在运行状态就调用接收输出类,下面是代码段跟代码位置截图