ctkErrorLogWidget使用

这篇博客介绍了如何在Qt应用中使用ctkErrorLogWidget来管理和显示错误日志。首先,通过`#include`指令引入了ctkErrorLogWidget头文件。接着,声明了一个ctkErrorLogWidget指针变量。在`on_m_ErrorLogPushButton_clicked()`槽函数中,当用户点击按钮时,检查错误日志窗口是否为空,如果为空则创建新的实例,并设置窗口属性。同时初始化错误日志模型,注册消息处理器,并启用文件日志记录,指定日志保存路径。最后,显示错误日志窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调用头文件

#include “ctkErrorLogWidget.h”

.h文件
ctkErrorLogWidget *m_ErrorLogWidget; //错误日志窗口

.cpp文件
this->m_ErrorLogWidget = nullptr;
/显示日志界面/
void MyMainWindow::on_m_ErrorLogPushButton_clicked()
{
/左、右下角工具栏/
if (this->m_ErrorLogWidget == nullptr)
{
this->m_ErrorLogWidget = new ctkErrorLogWidget;//日志窗口
}

this->InitErrorLogModel();
this->m_ErrorLogWidget->setErrorLogModel(this->m_ErrorLogModel.data());
//this->m_ErrorLogWidget->setWindowFlags(Qt::Window);

this->m_ErrorLogWidget->setWindowFlags(Qt::WindowStaysOnTopHint);//显示在顶端
this->m_ErrorLogWidget->setWindowModality(Qt::ApplicationModal);

this->m_ErrorLogWidget->show();
//this->ErrorLogToolButton->autoRaise();

}

void MyMainWindow::InitErrorLogModel()
{
// Instantiate ErrorLogModel
this->m_ErrorLogModel = QSharedPointer(new ctkErrorLogModel);
this->m_ErrorLogModel->setLogEntryGrouping(true);
this->m_ErrorLogModel->setTerminalOutputs(ctkErrorLogTerminalOutput::All);//ctkErrorLogTerminalOutput::None
this->m_ErrorLogModel->registerMsgHandler(new ctkErrorLogQtMessageHandler);
this->m_ErrorLogModel->registerMsgHandler(new ctkErrorLogStreamMessageHandler);
this->m_ErrorLogModel->registerMsgHandler(new ctkITKErrorLogMessageHandler);
this->m_ErrorLogModel->registerMsgHandler(new ctkVTKErrorLogMessageHandler);
this->m_ErrorLogModel->setAllMsgHandlerEnabled(true);

this->setupFileLogging();
//	this->logApplicationInformation();

}

void MyMainWindow::setupFileLogging()
{
this->m_ErrorLogModel->setFileLoggingEnabled(true);
// Add new log file path for the current session
QString tempDir(“D:/log”);
QString currentLogFilePath = tempDir + QString(“/”) +
QDateTime::currentDateTime().toString(“yyyyMMdd_hhmmss”) +
QString(“.log”);
// Set current log file path
this->m_ErrorLogModel->setFilePath(currentLogFilePath);
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值