目录
QCalendarWidget表示一个日历

核心方法

重要信号

案例演示
案例1:核心方法和信号演示
cpp
#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//QCalendarWidget表示一个日历
//初始值默认是当前日期年份
//QDate selectedDate() 显示当前选中的日期
qDebug() << ui->calendarWidget->selectedDate();
//setGridVisible(bool) 是否显示表格边框
ui->calendarWidget->setGridVisible(true);
//setNavigationBarVisible(bool) 日历上方标题是否显示,相当于上方的月份年份不显示
//ui->calendarWidget->setNavigationBarVisible(false);
//setDateEditEnabled(bool) 是否允许日期被编辑,不允许后还是可以切换日期的
ui->calendarWidget->setDateEditEnabled(false);
}
Widget::~Widget()
{
delete ui;
}
//重要信号
void Widget::on_calendarWidget_selectionChanged() //当选中日期发生改变时发出selectionChanged信号
{
QDate date = ui->calendarWidget->selectedDate();
qDebug() << date;
ui->label->setText(date.toString()); //使用toString方法转换成字符串就可以输入了
}
void Widget::on_calendarWidget_activated(const QDate &date) //当双击某个日期或者回车键时发出activated信号,提供的参数是选中的年份日期
{
qDebug() << date;
ui->label->setText(date.toString());
}

这个label用的是三重颜色的渲染如下:
