介绍: Qcalendarwidget类提供一个基于月的日历小部件,允许用户选择一个日期
UI属性介绍
函数接口介绍
void clicked(const QDate & date) //日期被选中信号
void selectionChanged()//日期改变信号
实例代码:
点击日期按钮,会弹出日历对话窗口,在对话窗口实现日历的时间选择,选好后关闭窗口,Lable上会显示选好的日期
widget.cpp
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget),
ui_calendar(new Dialog_calendar)
{
ui->setupUi(this);
//设置按钮
ui->pushButton->setIcon(QIcon(QString("://resouers/image/iamge2.png")));
ui->pushButton->setText("");
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(pushButton_Clicked()));
//设置Lable
ui->label->setText(ui_calendar->date->toString(QString("yyyy/MM/dd/dddd")));
}
void Widget::pushButton_Clicked()
{
ui_calendar->exec(); //调用自定义的对话窗口成员
qDebug()<<"时间:"<<*(QDate *)(ui_calendar->date); //输出选中的时间
qDebug()<<"时间:"<<ui_calendar->date->toString(QString("yyyy/MM/dd/dddd"));
ui->label->setText(ui_calendar->date->toString(QString("yyyy/MM/dd/dddd")));//设置lable
}
Widget_calendar.cpp
Dialog_calendar::Dialog_calendar(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog_calendar)
{
ui->setupUi(this);
date = new QDate();
connect(ui->calendarWidget, SIGNAL(selectionChanged()), this, SLOT(calendarWidget_SelectionChanged()));
}
void Dialog_calendar::calendarWidget_SelectionChanged()
{
*date = ui->calendarWidget->selectedDate();
}
运行结果:
输出:
时间: QDate("2019-01-26")
时间: "2019/01/26/星期六"