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

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

用一个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上。

第一步,创建一个dateTimeEdit,第二步,将其connect到一个函数上,第三部,提取它的QDateTime,然后利用下面的函数就可以了,它是基于shell命令的:

void moreidDialog::slot_save_time_key()

{

QDateTime time

QString str = txt_time->text()

//判断格式是否正确

if (str.count(".") != 4)

{

txt_time->setText(tr("ge shi cuo wu"))

return

}

int i = 0,j = 0

i = str.indexOf(".")

QString year = str.mid(0,i)

j = str.indexOf(".",i + 1)

QString month = str.mid(i + 1,j - i - 1)

i = j

j = str.indexOf(".",i + 1)

QString day = str.mid(i + 1,j - i - 1)

i = j

j = str.indexOf(".",i + 1)

QString hour = str.mid(i + 1,j - i - 1)

i = j

j = str.indexOf(".",i + 1)

QString min = str.mid(i + 1,j - i - 1)

bool ok = false

year.toInt(&ok)

if (ok == false)

{

txt_time->setText(tr("ge shi cuo wu"))

return

}

month.toInt(&ok)

if (ok == false)

{

txt_time->setText(tr("ge shi cuo wu"))

return

}

day.toInt(&ok)

if (ok == false)

{

txt_time->setText(tr("ge shi cuo wu"))

return

}

hour.toInt(&ok)

if (ok == false)

{

txt_time->setText(tr("ge shi cuo wu"))

return

}

min.toInt(&ok)

if (ok == false)

{

txt_time->setText(tr("ge shi cuo wu"))

return

}

str = "date -s " + month + "/" + day + "/" + year

system(str.toLatin1().data())

str = "date -s " + hour + ":" + min + ":" + "00"

system(str.toLatin1().data())

//强制写入到CMOS

system("clock -w")

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11566180.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存