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) 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) def showdate(self,date):
self.label.setText(date.toString("yyyy-MM-dd dddd")) if __name__=="__main__":
app=QApplication(sys.argv)
p=mycalendar()
p.show()
sys.exit(app.exec_())

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

3、日历控件QDateEdit控件,日历的高级操作
import sys, math
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import * class DatetimeEdit(QWidget):
def __init__(self):
super(DatetimeEdit, self).__init__()
self.initUI() 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) #将文本的日历显示格式转换为下拉式表格显示 dateedit=QDateTimeEdit(QDate.currentDate())
timeedit=QDateTimeEdit(QTime.currentTime()) datetimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
datetimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss") dateedit.setDisplayFormat("yyyy.MM.dd")
timeedit.setDisplayFormat("HH:mm:ss") datetimeEdit1.dateChanged.connect(self.ondatechanged)
datetimeEdit1.timeChanged.connect(self.ontimechanged)
datetimeEdit1.dateTimeChanged.connect(self.ondatetimechanged) vlayout.addWidget(datetimeEdit1)
vlayout.addWidget(datetimeEdit2)
vlayout.addWidget(dateedit)
vlayout.addWidget(timeedit) self.button=QPushButton("获取日期和时间")
self.button.clicked.connect(self.onButtonClick)
vlayout.addWidget(self.button) self.setLayout(vlayout)
self.resize(300, 90)
self.setWindowTitle("设置不同风格的日期") #日期变化
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) #最大日期
print(self.datetimeedit.maximumDate())
#最大时间和日期
print(self.datetimeedit.maximumDateTime())
#最小日期
print(self.datetimeedit.minimumDate())
print(self.datetimeedit.minimumDateTime()) if __name__ == "__main__":
app = QApplication(sys.argv)
p = DatetimeEdit()
p.show()
sys.exit(app.exec_())

												

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. 「题解」「CF853B」Jury Meeting

    目录 题目 思路 代码 题目 传送门 思路 十分巧妙的差分前缀和好题. 题目板块完结之后,我看到有很多处理此题的方法,但总感觉差分前缀和比较巧妙. 首先,通过输入我们可以将每个人能在 \(0\) 号点 ...

  2. Java:面向对象的编程语言

    java是面向对象的编程语言 Object,就是指面向对象的对象,对象就是实例. 在java里,对象是类的一个具体实例.就像:人,指一个类.你.我.他.张三.李四.王五等则是一个个具体的实例,也就是j ...

  3. D. Lunar New Year and a Wander bfs+优先队列

    D. Lunar New Year and a Wander bfs+优先队列 题意 给出一个图,从1点开始走,每个点至少要经过一次(可以很多次),每次经过一个没有走过的点就把他加到走过点序列中,问最 ...

  4. 使用Idea构建springmvc框架,出现no bean named 'cacheManager' is defined 错误

    由于IDEA的自动补全功能非常强大,当你配置 <mvc:annotation-driven/> 后编译器会帮你自动补全上面两个配置文件约束.这个时候如果你没注意的就会爆出一个很莫名奇妙的错 ...

  5. Advanced Architecture for ASP.NET Core Web API

    转自: https://www.infoq.com/articles/advanced-architecture-aspnet-core ASP.NET Core's new architecture ...

  6. 如何用navicat连接linux服务器上的mysql以及重启服务

    1,开启mysql权限:https://www.cnblogs.com/NaughtyCat/p/how-to-connect-to-mysql-on-linux-by-navicat.html my ...

  7. [爬坑日记] 安卓模拟器1903蓝屏 没开hyper-v

    先说解决方案: 我在升级完1903之后短短几个小时蓝屏了两次 还是不同原因,不由得开始怀疑这个版本的稳定性,随后发现只有启动安卓模拟器的时候必然蓝屏(还有一次蓝屏实在安装驱动的时候) 经过百度得知需要 ...

  8. Js代码中的span拼接

    今天遇到一个小需求,用bootstrap的table只有两个字段,占用太宽,页面不美观,组长要求用拼接,一行几列的形式展现出来.我在form表单中拼接了span,遇到以下问题: 1.点击查询,以前生成 ...

  9. PHP通过thrift2访问HBASE

    前一段时间需要在网页上显示HBASE查询的结果,考虑用PHP来实现,在网上搜了一下,普遍都是用thrift作为接口来实现的.​ 参考博文:​ http://www.cnblogs.com/scotom ...

  10. jmeter的BeanShell Sampler使用--导入第三方jar包

    实现目的 测试接口的过程中,可能有时需要用到第三方jar包来生成一些测试数据,此时我们就可以通过BeanShell来调用自己编写的工具类,来对jmeter的功能进行扩展,以满足测试需要. 脚本实现 在 ...