一、调用
通过QDateTime中的setCalendarPopup(true)方法调用。
ui->dateEdit->setCalendarPopup(true);
二、基础设置
1.设置默认显示时间
ui->dateEdit->setDateTime(QDateTime::currentDateTime());
2.设置时间范围:最近三年
ui->dateEdit->setMinimumDate(QDate::currentDate().addDays(- 365 * 3));
ui->dateEdit->setMaximumDate(QDate::currentDate());
3.导航栏不可见
QCalendarWidget *calendar = ui->dateEdit->calendarWidget();
calendar->setNavigationBarVisible(false);
4.网格线
calendar->setGridVisible(true);
5.周几栏竖向排列位置
calendar->setFirstDayOfWeek(Qt::Saturday);
6.周几栏文字类型:默认是 QCalendarWidget::ShortDayNames
calendar->setHorizontalHeaderFormat(QCalendarWidget::NoHorizontalHeader);
三、QSS样式设置
1.QDateEdit样式
(1)未设置QSS、且未调用日历的默认样式:
(2)调用日历setCalendarPopup(true)后的默认样式:
(3)样式设置:正常状态与选中状态
/*正常状态*/
QDateEdit#dateEdit_timeEnd{
font:20px Microsoft YaHei;
color:rgb(32, 32, 32);
background-color:rgb(255, 204, 229, 80);
border-color:rgb(255, 153, 204);
border-style:solid;
border-radius:10px;
border-width:5px;
}
/*选中状态*/
QDateEdit#dateEdit:focus{
font:20px Microsoft YaHei;
border-color:rgb(255, 102, 178); /*边框颜色*/
border-style:solid; /*边框内容*/
border-radius:10px; /*边框圆角弧度*/
border-width:5px;
}
(4)日历下拉图标设置