QT實現動態顯示系統時間
首先,需要建立一個類,繼承於Qwidget,用於實現時間的獲取介面。然後,在widget建構函式中new一個該類的物件,(widget類可以專門用來顯示背景圖片,通過重寫paintevent()事件)則這個時間就顯示到介面了。
建立該類,自定義名字為Main_Widget:
widget.h:
//類Main_Widget
//顯示時間
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QtGui/QDateTimeEdit>
#include <QPushButton>
#include <QLabel>
#include <QTimer>
#include <QTextBrowser>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QGridLayout>
#include <QSpacerItem>
#include <QPalette>
#include <QPainter>
#include <QtGui/QWidget>
#include <QMessageBox>
#include <QLineEdit>
#include <QSignalMapper>
#include <QTextCodec>
#include <QComboBox>
#include <QTableWidget>
#include <QToolButton>
class Main_Widget : public QWidget
{
Q_OBJECT
public:
Main_Widget(QWidget *parent = 0);
~Main_Widget();
private:
QString date_string;
QString week_string;
QString time_string;
QLabel *date_label;
QLabel *week_label;
QLabel *time_label;
//定時器
QTimer * display_timer;
QLabel *display_Image;
QLabel *display_name;
private slots:
void Update_Time(void);
};
Main_Widget.cpp:
#include <QDebug>
#include "widget.h"
#include <QImage>
Main_Widget::Main_Widget(QWidget *parent)
: QWidget(parent)
{
resize(1024,600); //set interface size
date_label = new QLabel(this);
week_label = new QLabel(this);
time_label = new QLabel(this);
//設定時間顯示的大小
date_label->setParent(this);
display_timer = new QTimer(this);
connect(display_timer,SIGNAL(timeout()),this,SLOT(Update_Time()));
display_timer->start(1000); //after 1 S,restart Timer
date_label->setGeometry(20,100,200,50);
date_label->setStyleSheet("color:rgb(0, 0, 135);font-size:30px");
time_label->setGeometry(20,150,200,50);
time_label->setStyleSheet("color:rgb(0, 0, 135);font-size:50px");
week_label->setGeometry(20,200,200,50);
week_label->setStyleSheet("color:rgb(0, 0, 135);font-size:30px");
Update_Time();
}
//類Widget //只負責顯示背景
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
Main_Widget * myMain_Widget;
protected:
void paintEvent(QPaintEvent *event);
};
#endif // WIDGET_H
//
void Main_Widget::Update_Time(void)
{
// time_label->clear();
QDateTime Current_time = QDateTime::currentDateTime();
// QString String_time = Current_time.toString("yyyy-MM-dd hh:mm:ss dddd");
date_string = Current_time.toString("yyyy-MM-dd");
qDebug()<<"date = "<<date_string;
// date_string = Current_time.toString("dd");
// qDebug()<<"date2= "<<date_string.toInt();
week_string = Current_time.toString("dddd");
// time_string = Current_time.toString("hh:mm:ss");
time_string = Current_time.toString("hh:mm");
date_label->setText(date_string);
week_label->setText(week_string);
time_label->setText(time_string);
// qDebug()<<time_label->text();
}
Main_Widget::~Main_Widget()
{
delete date_label;
delete week_label;
delete time_label;
delete display_timer;
}
widget.cpp:
#include "widget.h"
//只是負責主介面的背景
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
setWindowTitle("Main Interface");
//設定視窗無邊框
setWindowFlags(Qt::FramelessWindowHint);
resize(1024,600); //set interface size
myMain_Widget = new Main_Widget(this);
}
//重寫了paintEvent()事件
void Widget::paintEvent(QPaintEvent * event)
{
QPainter painter(this);
painter.drawPixmap(0,0,this->width(),this->height(),QPixmap(":/Images/3.jpg"));
}
Widget::~Widget()
{
delete myMain_Widget;
}
主函式:
//主函式
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget myWidget;
myWidget.show();
return a.exec();
}
相關文章
- QT學習 實時顯示時間QT
- Qt學習(5)獲取當前系統時間-實時顯示當前時間QT
- qt中實現實時的顯示當前時刻的時間QT
- QT顯示當前日期時間QT
- Qt設計:時間顯示(QTimer)QT
- javaScript動態顯示當前時間JavaScript
- qt-實時顯示本地時間、以及QDateTime的使用QT
- Qt:通過QLabel控制元件來顯示實時日期時間QT控制元件
- Qt中利用定時器QTimer實時顯示當前日期和時間QT定時器
- win10系統桌面時間如何顯示年月日_win10系統桌面時間顯示年月日的方法Win10
- QT時鐘控制元件顯示QT控制元件
- win10系統怎麼延長通知顯示時間Win10
- 直播系統程式碼,輸入時實現密碼顯示與隱藏密碼
- VS+Qt+Halcon——顯示圖片,實現滑鼠縮放、移動圖片QT
- win10系統如何設定時間日期顯示農曆Win10
- 65.QT-UDP組播實現多人共享桌面(同時支援收發顯示)QTUDP
- Element 利用Tooltip提示框實現動態顯示文字提示
- SAP ABAP 動態內表實現 ALV橫向按月份動態顯示資料
- qt介面佈局之使視窗顯示出現在正中間位置QT
- 直播系統開發,實現在進度條中顯示文字顯示進度
- js時間顯示設定JS
- 【Qt】UI顯示中文QTUI
- 期中實驗:記事本實現時間戳、搜尋、正文縮略顯示時間戳
- 動態時間
- Qt實現系統托盤訊息QT
- win10系統長日期格式顯示怎麼設定 win10系統設定長時間格式顯示的步驟Win10
- Qt實現炫酷啟動圖-動態進度條QT
- 數碼管動態顯示
- SpringBoot整合Quartz實現動態修改定時任務間隔Spring Bootquartz
- Qt之彈出介面顯示在父視窗中間QT
- QT居中螢幕顯示QT
- qt 使用qmake pro檔案新增 ico圖示,程式執行時顯示圖示,exe也顯示圖示QT
- js動態時間JS
- 空閒時間研究一個小功能:winform桌面程式如何實現動態更換桌面圖示ORM
- win10系統開機鎖屏介面只顯示一張圖片不顯示日期時間如何解決Win10
- amd7000系顯示卡釋出什麼時候釋出 rx7000系顯示卡上市時間介紹
- Linux系統自動更新時間Linux
- 易優實現釋出時間顯示類似幾小時前、幾天前的效果
- 時間格式化,顯示昨天、今天