1. 程式人生 > >QT之QDateTimeEdit觸發日曆

QT之QDateTimeEdit觸發日曆

1、QDateTimeEdit觸發日曆

QSize sz = ui->dateTimeEdit->geometry().size() -= QSize(3, 3);
QPoint pt(sz.width(), sz.height());
QMouseEvent evt(QEvent::MouseButtonPress, pt, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
qApp->sendEvent(ui->dateTimeEdit, &evt);
ui->dateTimeEdit->setCalendarPopup(true);

效果圖如下:

同時獲取當前日期,並且設定當前日期之前可以操作,之後日期無法選擇!
ui->dateEdit->setDateTime(QDateTime::currentDateTime());
ui->dateEdit->setMaximumDate(QDate::currentDate().addDays(0));

應用知識點:(幫助文件)

關於QDateEdit:

1、設定日曆彈出

boolcalendarPopup () const

voidsetCalendarPopup ( bool enable )

2、設定日期格式

setDisplayFormat("yyyy/MM/dd");

setDisplayFormat("HH:mm:ss");


3、設定日期最大最小

voidsetMaximumDate ( const QDate & max );

void setMinimumDate( const QDate & max );

4、設定當前時間

setDateTime(QDateTime::currentDateTime())

關於QDateTimeEdit:

設定範圍:

 1、void QDateTimeEdit::setDateRange ( const QDate & min, const QDate & max )

 setDateRange(min, max);

 setMinimumDate(min);

 setMaximumDate(max);

2、void QDateTimeEdit::setDateTimeRange ( const QDateTime & min, const QDateTime & max )

setDateTimeRange(min, max);

setMinimumDateTime(min);

setMaximumDateTime(max);