最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt中QDateTimeEdit的具體使用

 更新時間:2023年06月06日 09:48:48   作者:嵌入式小龍  
本文主要介紹了Qt中QDateTimeEdit的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.描述

1.QDateTimeEdit是一個用來編輯日期和時間的單行文本框,由于大繼承自QAbstractSpinBox類,可以用箭頭按鈕來調(diào)節(jié)文本內(nèi)容,也可以用鍵盤輸入。在用按鈕修改內(nèi)容時可以單獨修改某個部分(年、月、日、小時、分)

2.QDateTimeEdit可以用來單獨顯示日期(QDate),也可以單獨顯示時間(QTime),當(dāng)然也可以顯示日期時間(QDateTime)

二.QDateTime的使用

QDateTime是用來描述日期和時間的對象,他是QDate和QTime兩個類的組合,包含了年月日/小時分秒毫秒。

1、構(gòu)造函數(shù)

按照下面的方式構(gòu)造對象都是可以的。

QDate mdate = QDate(2012,1,1);
QTime mtime = QTime(12,12,12);
QDateTime mdate1 = QDateTime(mdate);
QDateTime mdate3 = QDateTime(mdate,mtime);

2、計算時間差

int utc_time = m_datetime.offsetFromUtc();      //與標(biāo)準(zhǔn)時區(qū)的時間差
qDebug()<<"utc 時間差"<<utc_time;
QDate m_date1 = QDate(2012,10,2);
int day_cnt = m_date1.daysTo(QDate::currentDate());
qDebug()<<"相差天數(shù)"<<day_cnt;

3、獲取時間

QDateTime datetime = QDateTime::currentDateTime();
qDebug()<<"當(dāng)前時間"<<datetime;
QDate date = QDate::currentDate();
qDebug()<<"當(dāng)前日期"<<date;
QTime time = QTime::currentTime();
qDebug()<<"當(dāng)前time"<<time;
int day = date.day();
qDebug()<<"當(dāng)前月下第幾日"<<day;
int month = date.month();
qDebug()<<"第幾月"<<month;
int year = date.year();
qDebug()<<"哪一年"<<year;
int month_day_num = date.daysInMonth();
qDebug()<<"當(dāng)前月有多少天"<<month_day_num;
int year_day_num = date.daysInYear();
qDebug()<<"當(dāng)前年有多少天"<<year_day_num;

三.QDateTimeEdit的應(yīng)用

1.構(gòu)造函數(shù)

m_DateTimeEdit = new QDateTimeEdit(QDateTime::currentDateTime(),this);
m_DateTimeEdit = new QDateTimeEdit(QDate::currentDate(),this);
m_DateTimeEdit = new QDateTimeEdit(QTime::currentTime(),this);

2.顯示格式

QDateTImeEdit里每一個部分(年月日時分秒)都是一個section,我們可以根據(jù)指定的樣式來改變顯示格式

m_DateTimeEdit->setDisplayFormat("yyyy-MM-dd-hh-mm-ss");

指定的格式有時間格式符,可以直接使用

h -----------------沒有前導(dǎo)0的小時(0——12或0——23)
hh ---------------有前導(dǎo)0的小時(00——12或00——23)
H -----------------沒有前導(dǎo)0的顯示(0——23)
HH ---------------有前導(dǎo)0的顯示(00——23)
m -----------------沒有前導(dǎo)0的分鐘(0——59)
mm --------------有前導(dǎo)0的分鐘(00——59)
s ------------------沒有前導(dǎo)0的秒(0——59)
ss -----------------有前導(dǎo)0的秒(00——59)
z -------------------第二個小數(shù)部分,沒有尾隨0的毫秒(0——999)
zzz ----------------第二個小數(shù)部分,有尾隨0的毫秒(000——999)
AP/A --------------用AM/PM顯示(只用一種就可以)
ap/a ---------------用am/pm顯示
t --------------------時區(qū)

還有日期的格式符

d -------------- 沒有前導(dǎo)0的數(shù)字日期(1——31)
dd ------------ 有前導(dǎo)0的數(shù)字日期(01——31)
ddd ----------- 縮寫的本地化日期名稱(周日——周六,Sun——Sat)
dddd ---------- 完整的本地化日期名稱(星期日——星期六)
M -------------- 沒有前導(dǎo)0的數(shù)字月(1——12月)
MM ------------ 有前導(dǎo)0的數(shù)字月(01——12)
MMM --------- 縮寫的本地化月份(1月——12月)
MMMM ------- 完整的本地化月份(一月——十二月)
yy -------------- 年的后兩位
yyyy ----------- 年(4位)

效果如下:

3.日歷選擇控件

m_DateTimeEdit->setCalendarPopup(true);

效果如下:

四.信號

日期發(fā)生改變

信號中都傳遞了相對應(yīng)的QDateTime或QDate的參數(shù)。要注意的是信號發(fā)出是在數(shù)據(jù)徹底發(fā)生改變后,比如用鍵盤輸入年份,只有當(dāng)2019全輸入后才會發(fā)送信號。

QDateTimeEdit::dateTimeChanged()     //日期時間發(fā)生改變    
QDateTimeEdit::dateChanged()         //日期發(fā)生改變    
QDateTimeEdit::timeChanged()         //時間發(fā)生改變

源碼:

mainwindow.c

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->resize(800,600);
    QDateTime m_datetime = QDateTime::currentDateTime();
    QDate mdate = QDate(2012,1,1);
    QTime mtime = QTime(12,12,12);
    QDateTime mdate1 = QDateTime(mdate);
    QDateTime mdate3 = QDateTime(mdate,mtime);
    m_DateTimeEdit = new QDateTimeEdit(m_datetime,this);
//    m_DateTimeEdit = new QDateTimeEdit(QDate::currentDate(),this);
//    m_DateTimeEdit = new QDateTimeEdit(QTime::currentTime(),this);
    m_DateTimeEdit->setGeometry(100,100,200,40);
    int utc_time = m_datetime.offsetFromUtc();      //與標(biāo)準(zhǔn)時區(qū)的時間差
    qDebug()<<"utc 時間差"<<utc_time;
    QDate m_date1 = QDate(2012,10,2);
    int day_cnt = m_date1.daysTo(QDate::currentDate());
    qDebug()<<"相差天數(shù)"<<day_cnt;
    QDateTime datetime = QDateTime::currentDateTime();
    qDebug()<<"當(dāng)前時間"<<datetime;
    QDate date = QDate::currentDate();
    qDebug()<<"當(dāng)前日期"<<date;
    QTime time = QTime::currentTime();
    qDebug()<<"當(dāng)前time"<<time;
    int day = date.day();
    qDebug()<<"當(dāng)前月下第幾日"<<day;
    int month = date.month();
    qDebug()<<"第幾月"<<month;
    int year = date.year();
    qDebug()<<"哪一年"<<year;
    int month_day_num = date.daysInMonth();
    qDebug()<<"當(dāng)前月有多少天"<<month_day_num;
    int year_day_num = date.daysInYear();
    qDebug()<<"當(dāng)前年有多少天"<<year_day_num;
    m_DateTimeEdit->setDisplayFormat("yyyy-MM-dd-hh-mm-ss");
    m_DateTimeEdit->setCalendarPopup(true);
}
MainWindow::~MainWindow()
{
    delete ui;
}

到此這篇關(guān)于Qt中QDateTimeEdit的具體使用的文章就介紹到這了,更多相關(guān)Qt QDateTimeEdit內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何用C寫一個web服務(wù)器之I/O多路復(fù)用

    如何用C寫一個web服務(wù)器之I/O多路復(fù)用

    本文主要介紹了如何用C寫一個web服務(wù)器之I/O多路復(fù)用,本次選擇了 I/O 模型的優(yōu)化,因為它是服務(wù)器的基礎(chǔ),這個先完成的話,后面的優(yōu)化就可以選擇各個模塊來進行,不必進行全局化的改動了。
    2021-05-05
  • 深入理解C++內(nèi)聯(lián)函數(shù)

    深入理解C++內(nèi)聯(lián)函數(shù)

    這篇文章主要為大家介紹了C++內(nèi)聯(lián)函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C語言 以數(shù)據(jù)塊的形式讀寫文件詳解及實現(xiàn)代碼

    C語言 以數(shù)據(jù)塊的形式讀寫文件詳解及實現(xiàn)代碼

    本文主要介紹 C語言 以數(shù)據(jù)塊的形式讀寫文件,這里對相關(guān)知識資料做了整理,并附代碼示例,以便大家學(xué)習(xí)參考,有學(xué)習(xí)此部分知識的朋友可以參考下
    2016-08-08
  • C++實例代碼詳解友元函數(shù)

    C++實例代碼詳解友元函數(shù)

    采用類的機制后實現(xiàn)了數(shù)據(jù)的隱藏與封裝,類的數(shù)據(jù)成員一般定義為私有成員,成員函數(shù)一般定義為公有的,依此提供類與外界間的通信接口。但是,有時需要定義一些函數(shù),這些函數(shù)不是類的一部分,但又需要頻繁地訪問類的數(shù)據(jù)成員,這時可以將這些函數(shù)定義為該類的友元函數(shù)
    2022-06-06
  • 利用Debug調(diào)試代碼解決0xC0000005:?讀取位置?0x0000000000000000?時發(fā)生訪問沖突問題

    利用Debug調(diào)試代碼解決0xC0000005:?讀取位置?0x0000000000000000?時發(fā)生訪問沖突問

    這篇文章主要介紹了利用Debug調(diào)試代碼解決0xC0000005:?讀取位置?0x0000000000000000?時發(fā)生訪問沖突,本文給大家分享完美解決方案,需要的朋友可以參考下
    2023-03-03
  • c++線程池實現(xiàn)方法

    c++線程池實現(xiàn)方法

    這篇文章主要介紹了c++線程池實現(xiàn)方法,實例分析了C++線程池的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • C++ 超詳細(xì)快速掌握二叉搜索樹

    C++ 超詳細(xì)快速掌握二叉搜索樹

    從這篇博客開始,我就要和大家介紹有關(guān)二叉搜索樹的知識,它還衍生出了兩棵樹——AVL樹和紅黑樹,在后面兩篇博客我都會介紹。今天先從二叉搜索樹開始引入
    2022-03-03
  • C++ OpenCV實戰(zhàn)之圖像透視矯正

    C++ OpenCV實戰(zhàn)之圖像透視矯正

    這篇文章主要介紹了通過C++ OpenCV實現(xiàn)圖像的透視矯正,文中的示例代碼講解詳細(xì),對我們的學(xué)習(xí)或工作有一定的參考價值,感興趣的可以了解一下
    2022-01-01
  • C++實現(xiàn)移動立方體示例講解

    C++實現(xiàn)移動立方體示例講解

    這篇文章主要介紹了C++實現(xiàn)移動立方體,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • 詳解C++編程中運算符的使用

    詳解C++編程中運算符的使用

    這篇文章主要介紹了詳解C++編程中運算符的使用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09

最新評論

崇信县| 新闻| 泰安市| 万年县| 资溪县| 靖江市| 都江堰市| 从江县| 获嘉县| 蒙城县| 徐水县| 炎陵县| 桐城市| 德昌县| 介休市| 云阳县| 余庆县| 古交市| 文安县| 清远市| 大竹县| 尼玛县| 旅游| 南城县| 盐源县| 涪陵区| 墨脱县| 内江市| 西充县| 水城县| 金堂县| 新昌县| 屯留县| 余姚市| 云林县| 洛扎县| 石门县| 廉江市| 沙河市| 吴堡县| 泸西县|