PyQt5日历控件及相关操作
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日历控件及相关操作的更多相关文章
- RobotFramework教程使用笔记——时间控件的相关操作
在web测试过程中,我们可能会遇到时间控件,有的是支持直接输入的,有的为了保证输入时间格式的一致性是只支持点击选择的,那么这个时候如何用robotframework来操作呢? 看下面这个例子: 这个是 ...
- JQuery select控件的相关操作
JQuery获取和设置Select选项方法汇总如下: 获取select 先看看下面代码: $("#select_id").change(function(){//code...}) ...
- selenium操作日历控件
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉 ...
- jQuery 日历控件 FullCalendar 初识
最近有个日程管理的需求,就学习了一下 FullCalendar 控件的一些基本知识,本文不是详细介绍该控件的 API 的文档,而是记录本人使用过程中的一些学习情况. 先看一下效果图 月/周/日视图 ...
- fullcalendar日历控件知识点集合
1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方 ...
- fullcalendar日历控件集合知识
1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方 ...
- Android 一个日历控件的实现代码
转载 2017-05-19 作者:Othershe 我要评论 本篇文章主要介绍了Android 一个日历控件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看 ...
- JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动
JavaScript日历控件开发 概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...
- Android开发中几种有用的的日历控件实现
我们大家都知道,在Android平台3.0中才新增了日历视图控件,可以显示网格状的日历内容,那么对于3.0以下的版本要使用日历控件只能借助第三方,目前用的最多的是CalendarView. 先简单介绍 ...
随机推荐
- Virtual Judge POJ 1328 Radar Installation
贪心 #include<algorithm> #include<iostream> #include<cstdio> #include<cmath> u ...
- 解决win10状态栏的搜索框无法搜索本地应用或无反应
今天突然出现的问题,在状态栏左下角的搜索框搜索OneNote没有任何反应. 1.首先,打开管理员命令窗口,win+x,可以看到弹出一个窗口,打开windows Powershell(管理员)如图 2, ...
- [Note]Splay学习笔记
开个坑记录一下学习Splay的历程. Code 感谢rqy巨佬的代码,让我意识到了Splay可以有多短,以及我之前的Splay有多么的丑... int fa[N], ch[N][2], rev[N], ...
- 【转载】C/C++内存管理详解
转自:http://chenqx.github.io/2014/09/25/Cpp-Memory-Management/ 内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中 ...
- 关于Excel,你一定用的到的36个Python函数
从Excel到Python:最常用的36个Pandas函数关于Excel,你一定用的到的36个Python函数 本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗 ...
- C# virtual 函数
C# virtual 是虚拟的含义,在 C# 语言中,默认情况下类中的成员都是非虚拟的,通常将类中的成员定义成虚拟的,表示这些成员将会在继承后重写其中的内容. virtual 关键字能修饰方法.属性. ...
- Js代码中的span拼接
今天遇到一个小需求,用bootstrap的table只有两个字段,占用太宽,页面不美观,组长要求用拼接,一行几列的形式展现出来.我在form表单中拼接了span,遇到以下问题: 1.点击查询,以前生成 ...
- Java 常见异常及处理方案
Java 常见异常处理方案 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error: ...
- 大小端(MSB & LSB)
谈到字节序的问题,必然牵涉到两大CPU派系.那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU.PowerPC系列采用big endian方式存储数据,而x86系列则采用l ...
- vscode生成文件头注释(python)
文件→首选项→用户代码片段→选python 在大括号内添加如下内容: "Print infomation": { "prefix": "prelog& ...