1. 1、日历控件QCalendarWidget控件
    import sys,math
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    class mycalendar(QWidget):
    def __init__(self):
    super(mycalendar,self).__init__()
    self.initUI()
    def initUI(self):
    self.cal=QCalendarWidget(self)
    self.cal.setMinimumDate(QDate(1988,1,1)) #设置日历的最大最小日期
    self.cal.setMaximumDate(QDate(2088,1,1))
    self.cal.clicked.connect(self.showdate)
  2.  
  3. self.cal.setGridVisible(True) #设置日历为网格形式
    self.cal.move(20,20)
    self.setWindowTitle("日历演示")
    self.label = QLabel(self)
    date = self.cal.selectedDate()
    #self.label.setText("显示选择日期")
    self.label.setText(date.toString("yyyy-MM-dd dddd"))
    self.label.move(20, 320)
    self.resize(400,400)
  4.  
  5. def showdate(self,date):
    self.label.setText(date.toString("yyyy-MM-dd dddd"))
  6.  
  7. if __name__=="__main__":
    app=QApplication(sys.argv)
    p=mycalendar()
    p.show()
    sys.exit(app.exec_())

  1. 2、不同显示风格的日历
    import sys, math
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
  2.  
  3. class DatetimeEdit(QWidget):
    def __init__(self):
    super(DatetimeEdit, self).__init__()
    self.initUI()
  4.  
  5. def initUI(self):
    vlayout=QVBoxLayout()
    datetimeEdit1=QDateTimeEdit()
    datetimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())
  6.  
  7. dateedit=QDateTimeEdit(QDate.currentDate())
    timeedit=QDateTimeEdit(QTime.currentTime())
  8.  
  9. datetimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
    datetimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")
  10.  
  11. dateedit.setDisplayFormat("yyyy.MM.dd")
    timeedit.setDisplayFormat("HH:mm:ss")
  12.  
  13. vlayout.addWidget(datetimeEdit1)
    vlayout.addWidget(datetimeEdit2)
    vlayout.addWidget(dateedit)
    vlayout.addWidget(timeedit)
  14.  
  15. self.setLayout(vlayout)
    self.resize(300, 90)
    self.setWindowTitle("设置不同风格的日期")
  16.  
  17. if __name__ == "__main__":
    app = QApplication(sys.argv)
    p = DatetimeEdit()
    p.show()
    sys.exit(app.exec_())

  1. 3、日历控件QDateEdit控件,日历的高级操作
    import sys, math
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
  2.  
  3. class DatetimeEdit(QWidget):
    def __init__(self):
    super(DatetimeEdit, self).__init__()
    self.initUI()
  4.  
  5. def initUI(self):
    vlayout=QVBoxLayout()
    datetimeEdit1=QDateTimeEdit()
    datetimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime()) #获取当前的日期和时间
    datetimeEdit1.setMinimumDate(QDate.currentDate().addDays(-365))
    datetimeEdit1.setMaximumDate(QDate.currentDate().addDays(365))
    self.datetimeedit=datetimeEdit1
    datetimeEdit2.setCalendarPopup(True) #将文本的日历显示格式转换为下拉式表格显示
  6.  
  7. dateedit=QDateTimeEdit(QDate.currentDate())
    timeedit=QDateTimeEdit(QTime.currentTime())
  8.  
  9. datetimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
    datetimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")
  10.  
  11. dateedit.setDisplayFormat("yyyy.MM.dd")
    timeedit.setDisplayFormat("HH:mm:ss")
  12.  
  13. datetimeEdit1.dateChanged.connect(self.ondatechanged)
    datetimeEdit1.timeChanged.connect(self.ontimechanged)
    datetimeEdit1.dateTimeChanged.connect(self.ondatetimechanged)
  14.  
  15. vlayout.addWidget(datetimeEdit1)
    vlayout.addWidget(datetimeEdit2)
    vlayout.addWidget(dateedit)
    vlayout.addWidget(timeedit)
  16.  
  17. self.button=QPushButton("获取日期和时间")
    self.button.clicked.connect(self.onButtonClick)
    vlayout.addWidget(self.button)
  18.  
  19. self.setLayout(vlayout)
    self.resize(300, 90)
    self.setWindowTitle("设置不同风格的日期")
  20.  
  21. #日期变化
    def ondatechanged(self,date):
    print(date)
    #时间变化
    def ontimechanged(self,time):
    print(time)
    #日期和时间变化
    def ondatetimechanged(self,datetime):
    print(datetime)
    def onButtonClick(self):
    datetime=self.datetimeedit.dateTime()
    print(datetime)
  22.  
  23. #最大日期
    print(self.datetimeedit.maximumDate())
    #最大时间和日期
    print(self.datetimeedit.maximumDateTime())
    #最小日期
    print(self.datetimeedit.minimumDate())
    print(self.datetimeedit.minimumDateTime())
  24.  
  25. if __name__ == "__main__":
    app = QApplication(sys.argv)
    p = DatetimeEdit()
    p.show()
    sys.exit(app.exec_())

  1.  

PyQt5日历控件及相关操作的更多相关文章

  1. RobotFramework教程使用笔记——时间控件的相关操作

    在web测试过程中,我们可能会遇到时间控件,有的是支持直接输入的,有的为了保证输入时间格式的一致性是只支持点击选择的,那么这个时候如何用robotframework来操作呢? 看下面这个例子: 这个是 ...

  2. JQuery select控件的相关操作

    JQuery获取和设置Select选项方法汇总如下: 获取select 先看看下面代码: $("#select_id").change(function(){//code...}) ...

  3. selenium操作日历控件

    日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉 ...

  4. jQuery 日历控件 FullCalendar 初识

    最近有个日程管理的需求,就学习了一下 FullCalendar 控件的一些基本知识,本文不是详细介绍该控件的 API 的文档,而是记录本人使用过程中的一些学习情况. 先看一下效果图  月/周/日视图 ...

  5. fullcalendar日历控件知识点集合

    1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方 ...

  6. fullcalendar日历控件集合知识

    1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方 ...

  7. Android 一个日历控件的实现代码

    转载  2017-05-19   作者:Othershe   我要评论 本篇文章主要介绍了Android 一个日历控件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看 ...

  8. JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动

    JavaScript日历控件开发   概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...

  9. Android开发中几种有用的的日历控件实现

    我们大家都知道,在Android平台3.0中才新增了日历视图控件,可以显示网格状的日历内容,那么对于3.0以下的版本要使用日历控件只能借助第三方,目前用的最多的是CalendarView. 先简单介绍 ...

随机推荐

  1. NOIP做题练习(day2)

    A - Reign 题面 题解 最大子段和+\(DP\). 预处理两个数组: \(p[i]\)表示 \(i\) 之前的最大子段和. \(l[i]\)表示 \(i\) 之后的最大子段和. 最后直接输出即 ...

  2. 题解【loj537】「LibreOJ NOIP Round #1」DNA 序列

    题目描述 \(NOIP\)复赛之前\(HSD\)桑进行了一项研究,发现人某条染色体上的一段\(DNA\)序列中连续的\(k\)个碱基组成的碱基序列与做题的 \(AC\) 率有关!于是他想研究一下这种关 ...

  3. redis5.0.7安装及配置集群

    1.安装环境linux系统,时间2020年2月 2.官网下载https://redis.io/ 3.解压 tar -zxvf redis-5.0.7.tar.gz 4.配置文件 //创建etc文件夹, ...

  4. 每天进步一点点------Allegro 建立封装的一般步骤

    在制作封装之前,先确定你需要的焊盘,如果库中没有,那就要自己画了,(我就是自己画的) 制作二极管1N5822 SMD,实际尺寸:480milX520mil 一.添加元件焊盘 1 启动Allegro P ...

  5. Java传(1)

    ____________________________去告诉世界,我已经横空出世了! 你好丫,世界! public class HelloWorld{ public static void main ...

  6. @AliasFor 原理

      用法: import org.springframework.core.annotation.AliasFor; import java.lang.annotation.*; @Target(El ...

  7. sql注入基础知识

    信息安全概论课堂作业 SQL注入之万能密码漏洞 第一道题是牵扯到了万能密码漏洞 用户名先输入个’ 返回了sql报错语句,猜测存在sql注入漏洞 使用万能密码测试 登陆成功 原理 假设登录框处的判断代码 ...

  8. maven 项目搭建

    转自:https://www.cnblogs.com/lzx2509254166/p/7674455.html Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软 ...

  9. 题解【洛谷P5019】[NOIP2018]铺设道路

    题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度 ...

  10. Panda的学习之路(2)——pandas选择数据

    首先定义panda dates=pd.date_range(',periods=6) # print(dates) df=pd.DataFrame(np.arange(24).reshape(6,4) ...