QCalendar的使用:实现弹出日历选择日期的例子

选择后DateEdit框内显示的是从弹出的日历中选择的Date

具体的实现代码:

//构造函数里设置日历

//首先使calendarWidget隐藏。注:calendarWidget是calendar控件,在设计页面直接拖拽即可。
ui.calendarWidget->hide();

//点击后显示日历
connect(ui.pushButton,SIGNAL(clicked()),ui.calendarWidget,SLOT(show()));
ui.calendarWidget->setSelectionMode(QCalendarWidget::SingleSelection);

//自定义槽setdate,用于进行处理点击calendarWidget的事情
connect(ui.calendarWidget,SIGNAL(clicked(const QDate &)),this,SLOT(setdate()));

槽setdate()的操作如下:

// selectedDate返回从弹出的日历中点选的Date

ui.dateEdit->setDate(ui.calendarWidget->selectedDate());

//隐藏calendar控件
ui.calendarWidget->hide();

好了,这样就可以实现上面的效果了。

PS.其实connect(ui.calendarWidget,SIGNAL(clicked(const QDate &)),this,SLOT(setDate(const QDate &)))就可以直接返回选中的日期至dateEdit,但带来的一个问题是无法终止选择状态,日历会一直弹在外面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值