前面内容,我们详细了解了PyQt5中的一些常用控件

精彩内容回顾

Python用PyQt5设计界面,如何正确显示一幅图片,QPixmap控件详解

拥有漂亮的笔刷才能绘制多彩界面,PythonPyQt5中QPen和QBrush类

Python用PyQt5绘制多彩随机散点图,基本控件之QPainter使用详解

Python用PyQt5设计省市县三级联动的下拉选框,QComboBox使用详解

计数器QSpinBox使用详解,Python用PyQt5制作图形界面基础控件篇

今天,我们来介绍另外一种很常用的控件,即日历控件QCalendar

日历控件

01日历控件QCalendar简介

我们先来看下日历控件的样子

QCalendar日历控件

QCalendar控件提供了一个基于月份的视图,它让用户通过鼠标或键盘可以直接选择相应的日期。当然,如果不加设置,日历控件默认选中的日期是当前日期。同时,我们也可以对日历的日期范围、日历效果显示等属性进行设定。

可以定制属性

我们来了解下其继承顺序,注意当导入模块时,我们使用QCalendarWidget进行导入,而非QCalendar,这点跟其它控件导入稍有不同。

看下继承顺序

QCalendarWidget.__mro__

(class'PyQt5.QtWidgets.QCalendarWidget',class'PyQt5.QtWidgets.QWidget',class'PyQt5.QtCore.QObject',class'sip.wrapper',class'PyQt5.QtGui.QPaintDevice',class'sip.simplewrapper',class'object')

它直接继承自QWidget类,类似class'PyQt5.QtWidgets.QAbstractButton'(QPushButton的父类)、class'PyQt5.QtWidgets.QFrame'(QLabel的父类)等这样一些基本控件类。

02QCalendar类提供的方法

QCalendar类中常用的方法如下:

对于网格显示,直接在setGridvisible(bool)中设置bool为True或False即可。其它方法大家参照例子自己试一试。下面是不同显示风格。

网格设置不同外观

03QCalendar类的例子

我们来看下面的例子,当单击控件QCalendar时,显示相应的日期,并在QLabel中展示信息,源代码如下

示例源代码

if__name__=='__main__':

app=QApplication(sys.argv)

demo=CalendarDemo()

demo.show()

sys.exit(app.exec_())

效果如下

效果展示

pythongui日历控件_“五一”快到了,用Python中PyQt5做一个日历,QCalendar控件详解...相关推荐

  1. 百家号 python高手养成_【一点资讯】Python使用PyQt5进行图形界面GUI编程之详解QWidget类的坐标体系 www.yidianzixun.com...

    Python使用PyQt5进行图形界面GUI编程之详解QWidget类的坐标体系 上篇内容,我们详细介绍了使用PyCharm中LiveTemplate功能快速输入一个GUI应用框架的办法.(参见学会这 ...

  2. python数组相减_对Python 中矩阵或者数组相减的法则详解

    对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...

  3. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  4. python url解码_对python中url参数编码与解码的实例详解

    一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, saf ...

  5. python中pygame模块下载_基于python中pygame模块的Linux下安装过程(详解)

    pyhthon中pygame模块怎么安装?pyhthon中pygame模块怎么安装?鄙人为初二一名学生,闲来无事 钻研起电这句话还是建议问一下你们代课老师吧,因为你们老师是这方面专家,诺儿那边的话肯定 ...

  6. python中如何实现复制粘贴_引子,Python中PyQt5实现复制粘贴,程序界面如何访问系统剪贴板...

    前面内容,我们介绍了PyQt5中一些基本控件及常用的绘图设备类 Python中PyQt5如何打印图像界面,基本控件应用,QPrinter类详解 Python用PyQt5制作窗体状态栏,基本控件QSta ...

  7. 在一个窗体中调用另一个窗体的控件或方法(C#)

    在一个窗体中调用另一个窗体的控件或方法 解决方案:从构造函数中传递参数(Form). 1.将Form1中的控件改成public属性 具体实现过程请参看一下代码(在form1的textbox1中输入然后 ...

  8. python3库_对python3中pathlib库的Path类的使用详解

    用了很久的os.path,今天发现竟然还有这么好用的库,记录下来以便使用. 1.调用库 from pathlib import 2.创建Path对象 p = Path('D:/python/1.py' ...

  9. vue-fullcalendar做一个日历

    ​​​​​​引用git:vue-fullcalendarhttps://github.com/Wanderxx/vue-fullcalendar 项目要做一个日历,在每天展示事件,不同类别的事件样式不 ...

最新文章

  1. 3D Touch介绍: 一个数字压力器App和Quick Actions
  2. html输入框颜色属性,css 修改input输入框属性
  3. Matlab冒号操作符图解
  4. 剪切粘贴时总是上次的内容_自学PS:拷贝与粘贴都有哪些方法?编辑信息时错误了怎样恢复?...
  5. 计算机函授本科题库,计算机应用基础函授本科考试题库
  6. Newtonsoft 六个超简单又实用的特性,值得一试 【下篇】
  7. P4240-毒瘤之神的考验【莫比乌斯反演,平衡规划】
  8. ipcfg报错_ipcplwhl.dll
  9. 泛海精灵软件预发布统计报告 反馈
  10. php mysql 非空_PHP-为什么mysql接受非空字段为null
  11. Oracle-SQL程序优化4
  12. 关于boostrap的modal隐藏问题(前端框架)
  13. 安卓版LightBlue 低功耗蓝牙BLE设备调试
  14. c语言程序电子词典,C语言及程序设计进阶例程-14 开发一个电子词典
  15. 小刘的刷题日记——day1 【CSES】Weird Algorithm
  16. WordStream:谷歌广告各指标分析
  17. 【※taskmgr.exe进程知识详解※电脑知识】
  18. Tetris(初学Java第六篇)
  19. 云从科技 OCR任务 pixel-anchor 方法
  20. ES5和ES6的类,静态方法,继承实现代码

热门文章

  1. Spring全家桶面试题(四)之SpringCloud
  2. IOS版aplayer使用教程_lulu Mac版防火墙使用教程
  3. 软件工程师的自白:真希望自己从没学过编码
  4. python一个tab键是几个空格_python中tab键是什么意思
  5. 【GEE笔记2】数据整合Reducer/遍历循环.map
  6. Python三角形代码
  7. 学校计算机ip设置路由器,如何设置计算机的固定IP地址和路由器?
  8. 什么是kotlin?
  9. 2022年大宗商品和原材料公开拍卖市场研究报告
  10. 毕业设计-基于微信小程序的装修服务系统