python pyqt5 QDateTimeEdit 常用

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


python pyqt5 QDateTimeEdit 常用_第1张图片
image.png
python pyqt5 QDateTimeEdit 常用_第2张图片
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_())

你可能感兴趣的:(python pyqt5 QDateTimeEdit 常用)