qt - 在 Qlabel 中使用 QTime 和 Qtimer 作为时钟会导致 CPU 使用量过大
问题描述
当我激活QTimer
To 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);
}
解决方案
如我所见,您没有为计时器设置间隔,因此您的计时器将尽快触发。如果您想以秒精度显示时间,我建议使用 1000 毫秒的间隔来减少进程开销。
timer1->start(1000);
推荐阅读
- vue.js - 在一个 Vuex 突变中对状态进行多次修改
- javascript - React 类组件与函数组件
- php - 如何选择大小在 100-500 kb 之间的图像?
- php - 带有html的括号中的回声子字符串问题
- python - Python Selenuim - UnicodeEncodeError 'charmap' 编解码器无法编码
- javascript - 在 react native 中将类组件转换为钩子形式
- c - C中的游戏帮助,连接买卖的函数(带价格)
- javascript - 在 VueJS 3 中全局使用 momentJS
- javascript - 将文件拖放到 Chrome 的 textarea 中时获取光标位置
- javascript - 使用 WebAudioAPI 访问手机麦克风不会检测到声音(或失真的声音)