博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQt5之QDateTimeEdit编辑日期时间
阅读量:3958 次
发布时间:2019-05-24

本文共 3609 字,大约阅读时间需要 12 分钟。

PyQt5之QDateTimeEdit

QDateTimeEdit是一个允许用户编辑日期时间的控件,可以使用键盘来增加或减少日期时间值。QDateTimeEdit通过setDisplayFormat()函数来设置显示的日期时间格式。

一、QDateTimeEdit中的常用方法

方法 描述
setDisplayFormat() 设置日期格式:yyyy(代表年份,用4位数表示)、MM(代表月份,取值范围为01 ~ 12)、dd(代表日,取值范围为01 ~ 31)、HH(代表小时,取值范围为00 ~ 23)、mm(代表分钟,取值范围为00 ~ 59)、ss(代表秒,取值范围为00 ~ 59)
setMinimumDate() 设置控件的最小日期
setMaximumDate() 设置控件的最大日期
time() 返回编辑的时间
date() 返回编辑的日期

二、QDateTimeEdit中的常用信号

信号 含义
dateChanged 当日期改变时发射此信号
dateTimeChanged 当日期时间改变时发射此信号
timeChanged 当时间改变时发射此信号

三、QDateTimeEdit

  1. QDateTimeEdit的子类:

QDateEditQTimeEdit类均继承自QDateTimeEdit类,它们的许多功能特性都由QDateTimeEdit提供。

注:QDateEdit用来编辑控件的日期,仅包括年、月、日;QTimeEdit用来编辑控件的时间,仅包括小时、分钟和秒。

dateEdit = QDateEdit(self)timeEdit = QTimeEdit(self)dateEdit.setDisplayFormat("yyyy-MM-dd")timeEdit.setDisplayFormat("HH:mm:ss")

  1. 初始化QDateTimeEdit类:

在默认情况下,如果QDateTimeEdit类构造时不指定日期时间,那么系统会为其设置一个和本地相同的日期时间格式,并且值为2000年1月1日0时0分0秒,也可以手动指定控件显示的日期时间。除了通过构造函数指定所显示的日期时间外,也可以根据QDateTimeEdit提供的槽函数来设置,比如setDateTime()setDate()setTime()函数。

dateTimeEdit = QDateTimeEdit(self)dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime(),self)dateEdit = QDateTimeEdit(QDate.currentDate(),self)timeEdit = QDateTimeEdit(QTime.currentTime(),self)

  1. 设置日期时间格式:
dateTimeEdit = QDateTimeEdit(self)dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime(),self)dateEdit = QDateTimeEdit(QDate.currentDate(),self)timeEdit = QDateTimeEdit(QTime.currentTime(),self)#设置格式dateTimeEdit.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")

四、QDateTimeEdit的使用

import sys,mathfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class Win(QWidget):    def __init__(self):        super().__init__()        self.setGeometry(300, 300,400, 380)        self.setWindowTitle('QDateTimeEdit的使用')        layout = QVBoxLayout()        self.dateEdit = QDateTimeEdit(QDateTime.currentDateTime(),self)        self.dateEdit.setDisplayFormat("yyyy-MM-dd HH:mm:ss")#设置格式        self.dateEdit.setMinimumDate(QDate.currentDate().addDays(-365))#设置最小日期        self.dateEdit.setMaximumDate(QDate.currentDate().addDays(365))#设置最大日期        self.dateEdit.setCalendarPopup(True)#弹出日历        self.dateEdit.dateChanged.connect(self.onDateChanged)        self.dateEdit.dateTimeChanged.connect(self.onDateTimeChanged)        self.dateEdit.timeChanged.connect(self.onTimeChanged)        self.btn = QPushButton('获取日期和时间')        self.btn.clicked.connect(self.onButtonClick)        layout.addWidget(self.dateEdit)        layout.addWidget(self.btn)        self.setLayout(layout)    def onDateChanged(self,date):        print(date)    def onDateTimeChanged(self,dateTime):        print(dateTime)    def onTimeChanged(self,time):        print(time)    def onButtonClick(self):        dateTime = self.dateEdit.dateTime()        maxDate = self.dateEdit.maximumDate()        maxDateTime = self.dateEdit.maximumDateTime()        maxTime = self.dateEdit.maximumTime()        minDate = self.dateEdit.minimumDate()        minDateTime = self.dateEdit.minimumDateTime()        minTime = self.dateEdit.minimumTime()        print('\n选择日期时间')        print('dateTime=%s' % str(dateTime))        print('maxDate=%s' % str(maxDate))        print('maxDateTime=%s' % str(maxDateTime))        print('maxTime=%s' % str(maxTime))        print('minDate=%s' % str(minDate))        print('minDateTime=%s' % str(maxDateTime))        print('minTime=%s' % str(maxTime))if __name__ == "__main__":    app = QApplication(sys.argv)    form = Win()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

转载地址:http://gvozi.baihongyu.com/

你可能感兴趣的文章
后台程序结果重定向到文件,结果看不到文件?缓冲区的问题
查看>>
[LeetCode]Reverse Integer
查看>>
DNS采用的传输层协议可能是TCP或UDP
查看>>
Python SocketAPI
查看>>
众包完成的 Nature 大作:世界上作者最多的文章
查看>>
常用URL标注数据集网络下载
查看>>
adaboostM2初探(记录一个例子)
查看>>
Python使用heapq实现小顶堆(TopK大)、大顶堆(BtmK小)
查看>>
用python的matplotlib包绘制热度图
查看>>
matplot pip安装
查看>>
序列S的所有可能情况
查看>>
在Linux上用pip安装scipy
查看>>
随机salt二次加密及hash加密漫谈
查看>>
linux 技巧:使用 screen 管理你的远程会话
查看>>
同时装了Python3和Python2,怎么用pip?
查看>>
linux tar 解压缩zip文件报错的解决
查看>>
vim,ctag和Taglist
查看>>
Ubuntu的apt命令详解
查看>>
Ubuntu Server 设置sshd
查看>>
sort,uniq命令的使用。
查看>>