实现的功能是点击“日历”按钮后,弹出日历框,选择好日期后,日历框关闭,并将选择的日期显示在QDateEdit中。
当时用的是QCalendarWidget的clicked()函数,但是无法实现,后来选用的是selectionChanged()函数发射信号。
void MainWindow::showcalendar()
{
dialog = new QDialog();
dialog->setMinimumSize(280,179);
calendarWidget=new QCalendarWidget(dialog);
dialog->setWindowTitle(tr("日历"));
dialog->move(QCursor::pos().x()-218,QCursor::pos().y()+ ui->calendarButton->height());
QDate date=calendarWidget->selectedDate();
QString datestr=date.toString("yyyy/MM/dd"); //设置输出格式calendarWidget->setLocale(QLocale(QLocale::Chinese,QLocale::China)); calendarWidget->setVerticalHeaderFormat(QCalendarWidget::NoVerticalHeader); calendarWidget->setSelectionMode(QCalendarWidget::SingleSelection); calendarWidget->setFirstDayOfWeek(Qt::DayOfWeek::Sunday);
QTextCharFormat weekdays;
weekd