Python高级进阶#018 pyqt5日历控件QCalendarWidget应用

简介: Python高级进阶#018 pyqt5日历控件QCalendarWidget应用

知识回顾



1.掌握了Qcombobox下拉框,载入、配置(可编辑、不可编辑)

2.掌握联动的思想(省与市的连动),主要用到actived信号


一、案例目标



案例:日历控件的使用

1.制作一个垂直布局(盒子模型)

2.载入一个日历控件Qcalendarwidget和一个qlabel控件

3.要求在点击日历控件的日期的时候,能够将获取到的日期显示到我们的label上

效果图


二、开发思路



  • QCalendarWidget日历控件的使用

1.从库文件PyQt5.QtWidgets中导入日历控件

2.对日历控件的实例化

cal=QCalendarWidget()

这里实例化的时候没有载入父容器,我们需要在后期将其载入父容器。


  • 盒子模型

#盒子模型,垂直布局

       vlo=QVBoxLayout(self)  实例化布局对象

       vlo.addWidget(cal)  加入控件


  • 字体设置

1.导入字体类

from PyQt5.QtGui import QFont

2.对字体进行实例化,以及将实例化对象载入使用

lbl.setFont(QFont("华文行楷",20))



  • 日期类型的载入

从PyQt5的核心库中载入日期类Qdate

from PyQt5.QtCore import Qdate


默认的有实例的日期显示格式

PyQt5.QtCore.QDate(2019, 10, 29)


三、相关技巧



对日期进行格式化的技巧

问题是在我们的槽方法中无法对日期进行代码提示,关键的技巧就是对参数重新格式化为QDate类型就可以了。


格式化日期使用toString 方法来实现。

实现的时候,我们有两种方法:

方法一:使用y表示年的一位,M表示月,d表示日

mydate.toString("yyyy年MM月dd日")

方法二:使用系统中的已经定义好的方式

这种方式,实际上是利用系统中已有的枚举类的方法来实现的。

mydate.toString(Qt.ISODate)或者 mydate.toString(1)


四、总结强调



1.掌握日历控件QCalendarWidget的载入与配置。

2.掌握日历控件的信号控制。

3.掌握日期格式化的几种方法。


本节教程源代码:

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QCalendarWidget,QLabel,QVBoxLayout
from PyQt5.QtGui import QFont
from PyQt5.QtCore import QDate,Qt
#实现一个日历控件
class MyClass(QWidget):
    def __init__(self):
        super(MyClass, self).__init__()
        self.initUI()
    def initUI(self):
        self.setWindowTitle("刘金玉编程")
        self.setGeometry(300,100,400,300)
        cal=QCalendarWidget()
        cal.clicked[QDate].connect(self.myCalendar)
        self.lbl=QLabel("这里显示日期")
        self.lbl.setFont(QFont("华文行楷",20))
        #盒子模型
        vlo=QVBoxLayout(self)
        vlo.addWidget(cal)
        vlo.addWidget(self.lbl)
        self.show()
    def myCalendar(self,d):
        mydate=QDate(d)
        self.lbl.setText(mydate.toString(1))
if __name__=="__main__":
    app=QApplication(sys.argv)
    mc=MyClass()
    app.exec_()
相关文章
|
8月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
800 0
|
9月前
|
数据采集 监控 Java
Python 函数式编程的执行效率:实际应用中的权衡
Python 函数式编程的执行效率:实际应用中的权衡
396 102
|
8月前
|
机器学习/深度学习 算法 安全
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
642 6
|
8月前
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
599 0
|
9月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
487 0
|
9月前
|
存储 程序员 数据处理
Python列表基础操作全解析:从创建到灵活应用
本文深入浅出地讲解了Python列表的各类操作,从创建、增删改查到遍历与性能优化,内容详实且贴近实战,适合初学者快速掌握这一核心数据结构。
707 0
|
9月前
|
中间件 机器人 API
Python多态实战:从基础到高阶的“魔法”应用指南
Python多态机制通过“鸭子类型”实现灵活接口,使不同对象统一调用同一方法,自动执行各自行为。它简化代码逻辑、提升扩展性,适用于数据处理、策略切换、接口适配等场景。掌握多态思维,能有效减少冗余判断,使程序更优雅、易维护。
442 0
|
数据采集 数据可视化 大数据
Python在大数据处理中的应用实践
Python在大数据处理中扮演重要角色,借助`requests`和`BeautifulSoup`抓取数据,`pandas`进行清洗预处理,面对大规模数据时,`Dask`提供分布式处理能力,而`matplotlib`和`seaborn`则助力数据可视化。通过这些工具,数据工程师和科学家能高效地管理、分析和展示海量数据。
782 4
|
设计模式 开发者 Python
Python编程中的设计模式应用与实践感悟####
本文作为一篇技术性文章,旨在深入探讨Python编程中设计模式的应用价值与实践心得。在快速迭代的软件开发领域,设计模式如同导航灯塔,指引开发者构建高效、可维护的软件架构。本文将通过具体案例,展现设计模式如何在实际项目中解决复杂问题,提升代码质量,并分享个人在实践过程中的体会与感悟。 ####
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。

推荐镜像

更多