QT编程,如何在GUI界面上一直显示系统时钟??

 我来答
百度网友af6bb57
2012-10-19 · TA获得超过537个赞
知道小有建树答主
回答量:789
采纳率:100%
帮助的人:225万
展开全部
用一个QTimer槽连接下面的槽函数。
void UiMainWindow::slotClockTimeout()

QString str;
QDate date = QDate::currentDate();
QTime time = QTime::currentTime();
str = QString("%1-%2-%3 %4").arg(date.year()).arg(date.month()).arg(date.day()).arg(time.toString());
str = str.left(str.length() - 3);//去除秒钟的显示
ui->labelClock->setText(str);//显示时间在label上。
sky_20006
2012-10-19
知道答主
回答量:9
采纳率:0%
帮助的人:3.2万
展开全部
设计方法很多如:可以使用QLCDNumber类来显示时间,用QTime::currentTime() 获取当前系统时间,用QTmer每个1秒更新下时间。可以设计一个class 继承QLCDNumber,在该类中包含QTimer定时器,及QString m_strTime 来保存时间。剩下的自己做吧
追问
采用QLCDNumber的方式,在主界面上显示出了系统时间,但是在执行其他程序的时候,有时候数字时钟会停住,过一会儿又会正常,我找了一下,都没有发现原因,请问这可能是什么原因呢,谢谢帮助
追答
可以在继承QLCDNumber的类中启动一个线程,不用定时器了,在线程的run()中每隔1秒,显示一下时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式