要将代码改为每一分钟执行一次qDebug输出,您可以使用QTimer来定时触发执行。
首先,在类的头文件中包含 <QTimer> 头文件,并在私有部分添加一个成员变量 QTimer *timer;。
然后,在类的构造函数中初始化定时器并连接槽函数:
frmCpuMemoryLabel::frmCpuMemoryLabel()
{
// ...
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(printDebugMessage()));
timer->start(60000); // 设置定时器间隔为 60000 毫秒(1分钟)
// ...
}
最后,在槽函数 printDebugMessage() 中编写要执行的代码:
void frmCpuMemoryLabel::printDebugMessage()
{
QString msg = QString("CPU: %1% Mem: %2% ( %3 MB / %4 MB )").arg(cpuPercent).arg(memoryPercent).arg(memoryUse).arg(memoryAll);
qDebug() << __LINE__ << " " << msg;
}
这样,每隔一分钟,就会触发 printDebugMessage() 函数打印相应的调试信息。记得在合适的地方释放定时器内存,以避免内存泄漏。
内容由零声教学AI助手提供,问题来源于学员提问




