首先上图
界面构建主要是lcdnumber 和textbrowser
首先实现计时功能,要用到QTime类。
基础函数
QTime(int h, int m, int s = 0, int ms = 0)//构造函数
QTime addMSecs(int ms) const //对时间进行增改当然还要相应的addSec函数
int hour() const //得到当前时间的小时,同理还有minute,second,msec
int elapsed() const //返回从暂停到重新开始流逝的时间
int restart()和void start() //重新开始和开始,注意restart有流逝时间的返回值
int msecsTo(const QTime &t) const //比较两个Qtime类的时间差值
静态成员
QTime currentTime() //获取当前时间
基础函数
void start(int msec) //每多少毫秒发送一次信号
void stop() //停止发送信号
信号
void timeout() //当休息时间结束时发送该信号
使用
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));//update()是你想要调用的函数,当然也不一定是非要this接受
timer->start(1000);
实际上窗口的反复更新就是调用的Qtimer中的exec()函数来维持。但是反复更新带来了巨大的任务量,期待用线程的方式来解决(以后再谈)。
计时器分为精确型和粗糙型,但是无论是哪种计时器都依赖于它的操作系统和硬件性能。如果系统过忙不能保证计时器所有求的准确性,那么无论是哪种计时器都会发生偏差。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。