1. 程式人生 > 其它 >基本Widgets(15):【類】QDateEdit [官翻]

基本Widgets(15):【類】QDateEdit [官翻]

技術標籤:Qt

文章目錄

QDateEdit Class

QDateEdit類提供了一個小部件,基於QDateTimeEdit的小部件用來編輯日期。

Header#include < QDateEdit>
qmakeQT += widgets
InheritsQDateTimeEdit
Inherited By

詳細說明

img

QDateEdit提供的許多屬性和函式都是在QDateTimeEdit中實現的。這些是此類的相關屬性:

  • date 儲存小部件顯示的日期
  • minimumDate定義使用者可以設定的最小(最早)日期
  • maximumDate定義使用者可以設定的最大(最新)日期
  • displayFormat包含一個字串,用於格式化小部件中顯示的日期

公共函式

  1. QDateEdit(const QDate &date, QWidget *parent = nullptr)
  2. QDateEdit(QWidget *parent = nullptr)
  3. virtual ~QDateEdit()

案例

#include <QtWidgets>
#include "Widget.h"

int main(int argc, char *argv[])
{
    QApplication app(argc,argv);
    app.setApplicationName (
"QDateEdit"); QWidget w; w.resize (300,50); QFrame frame1; QFrame frame2; QFrame frame3; QGridLayout mainLayout(&w); QDateTimeEdit widget1; QDateEdit widget2; QTimeEdit widget3; widget1.setDateTime (QDateTime(QDate(2010,10,1),QTime(12,45,56))); widget2.
setDateTime (QDateTime(QDate(2010,10,1),QTime(12,45,56))); widget3.setDateTime (QDateTime(QDate(2010,10,1),QTime(12,45,56))); widget1.setDisplayFormat("yyyy-MM-dd HH:mm:ss:zzz"); widget2.setDisplayFormat("yyyy-MM-dd HH:mm:ss:zzz"); widget3.setDisplayFormat("yyyy-MM-dd HH:mm:ss:zzz"); QLabel label1("QDateTimeEdit"); QLabel label2("QDateEdit"); QLabel label3("QTimeEdit"); label1.setAlignment (Qt::AlignCenter); label2.setAlignment (Qt::AlignCenter); label3.setAlignment (Qt::AlignCenter); frame1.setFrameShape (QFrame::Panel); frame2.setFrameShape (QFrame::Panel); frame3.setFrameShape (QFrame::Panel); QVBoxLayout *V1 = new QVBoxLayout(&frame1); QVBoxLayout *V2 = new QVBoxLayout(&frame2); QVBoxLayout *V3 = new QVBoxLayout(&frame3); V1->addWidget (&label1); V1->addWidget (&widget1); V2->addWidget (&label2); V2->addWidget (&widget2); V3->addWidget (&label3); V3->addWidget (&widget3); // 佈局加入,此時部件的父類是mainLayout mainLayout.addWidget (&frame1,0,1); mainLayout.addWidget (&frame2,0,2); mainLayout.addWidget (&frame3,0,3); w.show (); app.exec(); return 0; }

總結

QDateEdit 中使用Tab按鍵時,只會在Date部分跳轉,另外 Time部分為0,且不能夠更改,所以使用QDateEdit控制元件時,選擇合適的 格式字串。