Qt中利用定時器QTimer準實時顯示當前日期和時間

一個雞蛋的誠實發表於2013-07-17

Qt中利用定時器QTimer準實時顯示當前日期和時間

Qt中,QDate類對應日期,QTime類對應時間。這兩種類可以獲取當前時間,但需要一個定時器來準實時顯示當前日期和時間。

下面說明方法:

1. 在工程中宣告一個全域性QTimer物件

	QTimer *timer;

2. 在建構函式中定義QTimer,並建立訊號槽關係,同時設定時間啟動(你也可以再其他地方啟動)。

	timer = new QTimer(this);
	connect(timer, SIGNAL(timeout()), this, SLOT(qtimeSlot()));
	timer->start(1000);

這裡設定1秒鐘的定時器。

3. 編寫顯示日期和時間的槽函式

void myQtEx::qtimeSlot()
{
	QTime qtimeObj = QTime::currentTime();
	QString strTime = qtimeObj.toString("h:m ap");
	strTime.prepend("  Time is: ");
	QDate qdateObj = QDate::currentDate();
	QString strDate = qdateObj.toString("dddd, MMMM d, yyyy"); //星期、月份、天、年
	strDate.prepend("Today is: ");
	
	strDate.append(strTime);
	ui.timeLabel->setText (strDate);

	//qDebug() << strTime;
	//qDebug() << strDate;


}

4. 獲得結果如下





相關文章