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. 先简单介绍 ...
随机推荐
- AcWing 897. 最长公共子序列
#include <iostream> #include <algorithm> using namespace std; ; int n, m; char a[N], b[N ...
- bootstrap联动校验(转载)
接触bootstrapvalidator时间不久,最近需要多个字段共同验证,网上查了一下未找到,查阅api文档,发现确实可以实现. 先看dom <div class="form-gro ...
- 题解 P5594 【【XR-4】模拟赛】
P5594 [[XR-4]模拟赛] 洛谷10月月赛 II & X Round 4 Div.2前两道签到题还是很简单的,基本上是半小时内一遍过两题 看看题解,这题STL做法有用set输出size ...
- AD 快捷键设置
TAA 设置自动标记原件位号 AR 设置元件向右对齐 AL 设置元件向左对齐 MS 移动所选择 CO 错误报告设置 CTRL + w 设置电气线 PN 添加net label TG 打开封装管理器 P ...
- BK-信息查找、摘取
先了解下压缩文件中的内容: 实现功能: 1.根据"e1.xlsx"表中的dealerName.bu(可能没有).时间,匹配"待挖取信息表.xlsx"中对应的相关 ...
- Docker - 创建第一个 docker 实例
1. 概述 安装完准备开始使用 2. 环境 os centos 7 docker docker - ce 19.03 3. 步骤 启动docker > systemctl start docke ...
- Git - 03. git 工作空间
1. 概述 git 存放代码的地方 2. 创建 命令 # 1. 从无到有 > git init # 2. 从远程拉去现有的仓库 > git clone <url> 3. 文件生 ...
- 每天进步一点点------SOPC的Avalon-MM IP核(一) avalon总线的信号时序
在SOPC中自定义外设时.可以设置avalon总线的信号时序,以满足外设的要求.一般情况下,可以设为: 其中setup为read和write信号之前,address和writedata信号提前建立的时 ...
- Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向
一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计 ...
- eclipse 鼠标悬停提示
如果想要关闭鼠标悬停提示,只要把Window --> Preferences... --> Java --> Editor --> Hovers 把 Combined Hove ...