QDateTimeEdit 用法總結

2021-08-19 01:12:00 字數 2594 閱讀 4183

參考:qt之qdatetimeedit

qdatetimeedit *datetimeedit =

new qdatetimeedit(this);

qdatetimeedit *datetimeedit2 =

new qdatetimeedit(qdatetime::currentdatetime(), this);

qdatetimeedit *dateedit =

new qdatetimeedit(qdate::currentdate(), this);

qdatetimeedit *timeedit =

new qdatetimeedit(qtime::currenttime(), this);

// 設定日期時間格式

datetimeedit->setdisplayformat("yyyy-mm-dd hh:mm:ss");

datetimeedit2->setdisplayformat("yyyy/mm/dd hh-mm-ss");

dateedit->setdisplayformat("yyyy.m.d");

timeedit->setdisplayformat("h:mm");

dateedit->setminimumdate(qdate::currentdate().adddays(-365));  // -365天

dateedit->setmaximumdate(qdate::currentdate().adddays(365)); // +365天

qdate date

= dateedit->

date(); // 日期

qdatetime datetime = dateedit->datetime(); // 日期時間

qdate maxdate = dateedit->maximumdate(); // 最大日期

qdatetime maxdatetime = dateedit->maximumdatetime(); // 最大日期時間

qtime maxtime = dateedit->maximumtime(); // 最大時間

qdate mindate = dateedit->minimumdate(); // 最小日期

qdatetime mindatetime = dateedit->minimumdatetime(); // 最小日期時間

qtime mintime = dateedit->minimumtime(); // 最小時間

// 用section 獲取各部分對應的值

qstring stryear = dateedit->sectiontext(qdatetimeedit::yearsection);

qstring strmonth = dateedit->sectiontext(qdatetimeedit::monthsection);

qstring strday = dateedit->sectiontext(qdatetimeedit::daysection);

qstring strhour = dateedit->sectiontext(qdatetimeedit::hoursection);

qstring strminute = dateedit->sectiontext(qdatetimeedit::minutesection);

qstring strsecond = dateedit->sectiontext(qdatetimeedit::secondsection);

// 注意:日曆是對應的是qdate,而非qtime。所以qdateedit、qdatetimeedit可以使用,而qtimeedit並不能使用。

dateedit->setcalendarpopup(true); // 日曆彈出

qdatetimeedit *datetimeedit = new qdatetimeedit(qdatetime::currentdatetime(), this);

// 連線訊號槽

connect(datetimeedit, signal(datechanged(qdate)), this, slot(ondatechanged(qdate)));

connect(datetimeedit, signal(datetimechanged(qdatetime)), this, slot(ondatetimechanged(qdatetime)));

connect(datetimeedit, signal(timechanged(qtime)), this, slot(ontimechanged(qtime)));

// 日期發生改變時執行

void ondatechanged(const qdate &date)

// 無論日期還是時間發生改變,都會執行

void ondatetimechanged(const qdatetime &datetime)

// 時間發生改變時執行

void ontimechanged(const qtime &time)

Qt之輸入控制項(QDateTimeEdit)

qdatetimeedit類提供了乙個用於編輯日期和時間的控制項。qdatetimeedit允許使用者通過鍵盤或箭頭鍵來增加和減少日期或時間值來編輯日期。箭頭鍵可用於在qdatetimeedit框中的乙個區域移動。日期和時間按照設定的格式顯示,設定方法請參見setdisplayformat 名稱 描...

stack用法,queue用法,

stack stack 模板類的定義在標頭檔案中。stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例 如下 stack s1 stack s2 stack 的基本操作有 入棧,如例 s...

stack用法,queue用法,

stack stack 模板類的定義在標頭檔案中。stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要 的,在不指定容器型別時,預設的容器型別為deque。定義stack 物件的示例 如下 stack s1 stack s2 stack 的基本操作有 入棧,如例 s...