Qt做日历,QcalendarWidget类,交流贴

我是学友 2011-09-15 02:38:27



最近在给公司的上位机做个界面,直接继承了QCalendarWidget这个类去做,目前的效果就如上面的照片显示,由于这个类本身没有农历,所以用sqlite读取了一个农历的数据库。
现在可以实现的功能有:
1.右边的小区域可以显示当前的日期和对应的农历,同时显示第二天的日期和农历。
2.点击日历上的日期时,右边的区域会同时的改变,并且会换成另一种颜色以区分今天的日期。
3.点击上方的今天按钮,右边区域可以回到今天的日期。
4.下方显示当前的系统时间。

在制作过程中遇到了很多麻烦,网上有关这个类做日历的资料有少的可怜,几乎没有有用的,目前想进一步实现的是:
1.将上方星期的头标题进行设置。
2.设置整个日历格子的风格。
3.点击今天按钮时日历界面也能回到当前日期。
4.当点击查看其他日期时,今天的日期格子能显示另一种风格用以区分

刚才说过,网上的资料少得可怜,自己做只能靠看文档,十分痛苦,希望有做日历经验的高手们能给点建议,同时看看目前需要解决的问题要怎么解决。
我打算做完这个日历时再发一贴,总结一下做日历利用QCalendarWidget这个类的一些经验,和一些用到的比较经典的代码,弥补一下网上资料太少,希望大家支持哈。我的分不多了,先挂50分吧!!!
...全文
5511 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
scuttlelx 2014-02-15
  • 打赏
  • 举报
回复
亲,我现在需要自己写日历,可以将你的源代码发给我看一下吗?谢谢啦!邮箱625455459@qq.com
wuxujuan 2013-12-21
  • 打赏
  • 举报
回复
LZ,可以将你的源码与我分享一下吗?我现在也在做日历,功能与界面很简单,看到你的这么漂亮,很想学习一下。谢谢啦。邮箱:446415394@qq.com
zhp2248 2013-12-13
  • 打赏
  • 举报
回复
LZ,把你的经验跟大家分享下呀!!我的邮箱361467866@qq.com
Hi-Lu 2013-08-14
  • 打赏
  • 举报
回复
引用 22 楼 storylsl 的回复:
回复楼上诸位,我早已经放弃这个类做日历了。 采用的是label拼出一个完整的日历,label拼出来的就能够很好的实现自己想要完成的效果,包括界面样式和农历、记事等
楼主您好,我最近在做这个,遇到很多问题,如果方便的话,能不能借鉴您做的东西学习一下,不胜感激。打扰之处还请见谅。发您的邮箱发不过去,我的邮箱是1832683134@qq.com,谢谢啦!
凌云志 2013-07-13
  • 打赏
  • 举报
回复
小老虎 2012-09-12
  • 打赏
  • 举报
回复
这么漂亮,要搞多久啊!
我是学友 2012-07-19
  • 打赏
  • 举报
回复
回复楼上诸位,我早已经放弃这个类做日历了。
采用的是label拼出一个完整的日历,label拼出来的就能够很好的实现自己想要完成的效果,包括界面样式和农历、记事等
red-fly 2012-06-27
  • 打赏
  • 举报
回复
这个类开放的项太少了,哎,还得看来靠它还是不行的
red-fly 2012-06-27
  • 打赏
  • 举报
回复
if ( index == 0 )
m_pCal->setVerticalHeaderFormat( QCalendarWidget::ISOWeekNumbers ); //显示星期数
else
m_pCal->setVerticalHeaderFormat( QCalendarWidget::NoVerticalHeader );//不显示星期数
czyc321 2012-05-23
  • 打赏
  • 举报
回复
我用QCalendarWidget做了个日历,请问下你是怎么调用日历的 就是遇到文本框让日历控件弹出,把日历作为一个组件去调用,还有日历最前面一列怎么去掉 周日前面有一列
yourlefthand 2012-05-05
  • 打赏
  • 举报
回复
看着真心不错。也不知道我能不能看懂你的代码。。。求帮
lazyzoon 2012-03-07
  • 打赏
  • 举报
回复
我现在也在做这个日历应用程序,也是在纠结着添加农历,希望向楼主学习。看来要想显示农历,先得把QT的数据库弄懂才行啊。
xiaobuding120 2011-10-26
  • 打赏
  • 举报
回复
代码共享一下吧,谢谢。
chanafanghuay 2011-09-19
  • 打赏
  • 举报
回复
呵呵,再来一条,我也是个新手,希望你做完能总结一下。。。。。如果能发至邮箱将不胜感激。。。576766682@qq.com
chanafanghuay 2011-09-19
  • 打赏
  • 举报
回复
感觉界面在好点就好了。。。。这样有点单调。。。。
我是学友 2011-09-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wtq493841534 的回复:]
你好,我曾经看过Qt demos里面的QCalendarWidget。有些疑问,问了好久没人帮忙解答,你可以看看吗?
http://www.qtcn.org/bbs/read-htm-tid-45381.html
[/Quote]

我的QT安装目录下没你说的那个例子啊,有时间给我发过来吧,正好我也看看
374698016@qq.com
测试昵称666 2011-09-17
  • 打赏
  • 举报
回复
你好,我曾经看过Qt demos里面的QCalendarWidget。有些疑问,问了好久没人帮忙解答,你可以看看吗?
http://www.qtcn.org/bbs/read-htm-tid-45381.html
我是学友 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 storylsl 的回复:]
搞定一个问题:如何将今天的日期格子保持高亮,即当选择其他日期进行查看时,今天的日期会高亮显示以示区别。
代码如下:

C/C++ code
QDate cdate=QDate::currentDate(); //获取今天的日期
QTextCharFormat format;
format.setBackground(Qt::red); //设置格……
[/Quote]

贴图示意:当选择另外一个日期时,右侧小界面显示当前选择日期,今天的实际日期用高亮颜色显示以区别,换了个低调点的灰色
我是学友 2011-09-16
  • 打赏
  • 举报
回复
搞定一个问题:如何将今天的日期格子保持高亮,即当选择其他日期进行查看时,今天的日期会高亮显示以示区别。
代码如下:
    QDate cdate=QDate::currentDate();   //获取今天的日期
QTextCharFormat format;
format.setBackground(Qt::red); //设置格式,颜色自选
setDateTextFormat(cdate, format); //生效配置


我自定义了MyCalendarWidget类继承于QCalendarWidget
这段代码写在自定义类的构造函数里就可以了。
我是学友 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zmqntu 的回复:]
还在学习中……记得在文档中有个example,里面关于QWidget中有一个QCalendarWidget的实例程序。当然,LZ这样的高手估计也已经研究过了
[/Quote]
....呃,我也是新手,还在研究,Qt中实例封装好的QCalendarWidget类肯定是不能拿来直接用的,那样太简单,很多函数要重写,还要加上自己的函数完成附加的功能,网上的资料几乎为零啊!痛苦死我了,现在正看这个类的源码,看看能怎么改
加载更多回复(8)

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧