python pyqt5 QDateTimeEdit 常用

setDisplayFormat() yyyy MM dd HH mm ss
setMinimumDate() setMaximumDate()
time() 返回编辑的时间 date() 返回编辑的日期


image.png
image.png

-- coding: utf-8 --

'''
【简介】
PyQt5中 DateTimeEdit 例子

'''

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import QDate, QDateTime, QTime

class DateTimeEditDemo(QWidget):
def init(self):
super(DateTimeEditDemo, self).init()
self.initUI()

def initUI(self):
    self.setWindowTitle('QDateTimeEdit例子')
    self.resize(300, 90)

    vlayout = 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)

    vlayout.addWidget(self.dateEdit)
    vlayout.addWidget(self.btn)
    self.setLayout(vlayout)

# 日期发生改变时执行
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(minDateTime))
    print('minTime=%s' % str(minTime))

if name == 'main':
app = QApplication(sys.argv)
demo = DateTimeEditDemo()
demo.show()
sys.exit(app.exec_())

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容