首页 > 解决方案 > 在 Qlabel 中使用 QTime 和 Qtimer 作为时钟会导致 CPU 使用量过大

问题描述

当我激活QTimerTo Show A clock inside a时出现问题Qlabel,我的小软件将使用大约 25% 到 40% 的 CPU 电源 (I3 4160) 那么如何解决它以减少硬件资源?

QTimer *timer1 = new QTimer(this);
     connect(timer1,SIGNAL(timeout()),this,SLOT(showtime()));
     timer1->start();

这是我的 showtime() 函数

void Findlistrecord::showtime(){
    QTime time = QTime::currentTime();
    QString time_totext = time.toString("hh : mm : ss");
    ui->timelabel->setText(time_totext);
}

标签: qtqtimercpu-loadqtime

解决方案


如我所见,您没有为计时器设置间隔,因此您的计时器将尽快触发。如果您想以秒精度显示时间,我建议使用 1000 毫秒的间隔来减少进程开销。

timer1->start(1000);

推荐阅读