QT编程,如何在GUI界面上一直显示系统时钟??
2个回答
展开全部
用一个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上。
}
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上。
}
展开全部
设计方法很多如:可以使用QLCDNumber类来显示时间,用QTime::currentTime() 获取当前系统时间,用QTmer每个1秒更新下时间。可以设计一个class 继承QLCDNumber,在该类中包含QTimer定时器,及QString m_strTime 来保存时间。剩下的自己做吧
追问
采用QLCDNumber的方式,在主界面上显示出了系统时间,但是在执行其他程序的时候,有时候数字时钟会停住,过一会儿又会正常,我找了一下,都没有发现原因,请问这可能是什么原因呢,谢谢帮助
追答
可以在继承QLCDNumber的类中启动一个线程,不用定时器了,在线程的run()中每隔1秒,显示一下时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询