python日历gui_python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例...

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()

返回编辑的日期

PyQt5日期时间控件QDateTimeEdit实例一

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()

#实例化编辑时间日期的控件

#默认下,不指定日期的时间,系统会设置一个和本地相同的日期时间格式,时间默认2000年1月1日0时0分0秒

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")

#布局控件添加,设置主窗口的布局

vlayout.addWidget( dateTimeEdit )

vlayout.addWidget( dateTimeEdit2)

vlayout.addWidget( dateEdit )

vlayout.addWidget( timeEdit )

self.setLayout(vlayout)

if __name__ == '__main__':

app = QApplication(sys.argv)

demo = DateTimeEditDemo()

demo.show()

sys.exit(app.exec_())

PyQt5日期时间控件实例一代码解析:

在默认情况下,如果QDateTimeEdit类构造时不指定日期时间,那么系统会为其设置一个和本地相同的日期时间格式,并且值为2000年1月1日0时0分0秒,也可以手动指定控件显示的日期时间

#默认下,不指定日期的时间,系统会设置一个和本地相同的日期时间格式,时间默认2000年1月1日0时0分0秒

dateTimeEdit = QDateTimeEdit(self)

#指定当前日期时间为控件的日期时间

dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime(), self)

#指定当前地日期为控件的日期,注意没有指定时间

dateEdit = QDateTimeEdit(QDate.currentDate(), self)

#指定当前地时间为控件的时间,注意没有指定日期

timeEdit = QDateTimeEdit(QTime.currentTime(), self)

效果如下图

2020227164110229.png

设置日期时间格式,如果不想使用系统默认的格式,可以通过setDisplayFormat()来定义日期时间格式

# 设置日期时间格式,可以选择/ . : -等符号自定义数据连接符

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")

显示效果如图

2020227164115919.png

PyQt5日期时间控件QDateTimeEdit实例二

import sys

from PyQt5.QtCore import QDate,QDateTime,QTime

from PyQt5.QtWidgets import *

from PyQt5.QtGui import *

class DateTimeEditDemo(QWidget):

def __init__(self):

super(DateTimeEditDemo, self).__init__()

self.initUI()

def initUI(self):

#设置标题与初始大小

self.setWindowTitle('QDateTimeEdit 例子')

self.resize(300,90)

#垂直布局

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('日期时间=%s' %str(dateTime))

print('最大日期=%s'%str(maxDate))

print('最大日期时间=%s'%str(maxDateTime))

print('最大时间=%s'%str(maxTime))

print('最小日期=%s'%str(minDate))

print('最小日期时间=%s'%str(minDateTime))

print('最小时间=%s'%str(minTime))

if __name__ == '__main__':

app=QApplication(sys.argv)

demo=DateTimeEditDemo()

demo.show()

sys.exit(app.exec_())

效果图如下

2020227164119346.png

PyQt5日期时间控件QDateTimeEdit实例二代码分析

QDateEdit和QTimeEdit均继承自QDateTimeEdit类,他们的许多特性和功能都有QDateTimeEdit类提供,设置格式是要注意:

QDateEdit用来编辑控件的日期,年月日

QTimeEdit用来编辑控件的时间,时分秒

如果要同时操作日期时间,请使用QDateTimeEdit

设置弹出日历时要注意:用来弹出日历的类只有QDateTimeEdit和QDateEdit,而QTimeEdit类虽然在语法上可以设置弹出日历,但是不起作用………………

#设置日历控件允许弹出

self.dateEdit.setCalendarPopup(True)

设置日期时间范围,设置日期时间为今天,日历游戏范围为:【今天-365,今天+365】

#设置日期最大值与最小值,在当前日期的基础上,后一年与前一年

self.dateEdit.setMinimumDate(QDate.currentDate().addDays(-365))

self.dateEdit.setMaximumDate(QDate.currentDate().addDays(365))

获取日期时间

可以通过date(),datetime()等方法来获取日期时间对象,如果要获取年月日等信息,则可以调用QDate的year(),month(),day()等函数

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('日期时间=%s' %str(dateTime))

print('最大日期=%s'%str(maxDate))

print('最大日期时间=%s'%str(maxDateTime))

print('最大时间=%s'%str(maxTime))

print('最小日期=%'%str(minDate))

print('最小日期时间=%s'%str(minDateTime))

print('最小时间=%s'%str(minTime))

信号与槽函数

QDateTimeEdit控件常用的信号是dateChanged,dateTimeChanged,TimeChanged,分别在改变日期,日期时间,时间时发射

通过以下代码设置控件的信号连接槽函数

#当日期改变时触发槽函数

self.dateEdit.dateChanged.connect(self.onDateChanged)

#当日期时间改变时触发槽函数

self.dateEdit.dateTimeChanged.connect(self.onDateTimeChanged)

#当时间改变时触发槽函数

self.dateEdit.timeChanged.connect(self.onTimeChanged)

槽函数如下

#日期发生改变时执行

def onDateChanged(self,date):

#输出改变的日期

print(date)

#无论是日期还是时间改变都执行

def onDateTimeChanged(self,dateTime):

#输出改变的日期时间

print(dateTime)

#时间发生改变执行

def onTimeChanged(self,time):

#输出改变的时间

print(time)

本文详细介绍PyQt5日期时间控件QDateTimeEdit详细使用方法与实例,更多关于PyQt5日期时间控件的使用方法请查看下面的相关链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个Python GUIPyQt5中QComboBox控件使用方法实例: QComboBox是PyQt5中的一个下拉列表框控件,可以方便地在图形界面中实现下拉列表框功能。以下是QComboBox控件详细使用方法实例: 1. 在PyQt5中导入QComboBox控件: ``` python from PyQt5.QtWidgets import QComboBox ``` 2. 创建一个QComboBox控件对象: ``` python combo_box = QComboBox() ``` 3. 添加下拉列表框选项: 可以通过addItem()方法添加下拉列表框选项,也可以在创建QComboBox控件时直接传入选项列表: ``` python combo_box.addItem('选项1') combo_box.addItem('选项2') combo_box.addItem('选项3') # 或者 options = ['选项1', '选项2', '选项3'] combo_box = QComboBox(self) combo_box.addItems(options) ``` 4. 获取当前选中的选项: 可以通过currentIndex()方法获取当前选中的选项的索引值,也可以通过currentText()方法获取当前选中的选项的文本内容: ``` python index = combo_box.currentIndex() text = combo_box.currentText() ``` 5. 为下拉列表框添加事件: 可以为下拉列表框添加事件,例如选项改变时触发事件。可以通过currentIndexChanged()方法来实现: ``` python combo_box.currentIndexChanged.connect(self.on_combo_box_changed) def on_combo_box_changed(self, index): # index为当前选中的选项的索引值 print(index) ``` 下面是一个完整的例子: ``` python from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QComboBox, QVBoxLayout import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('QComboBox控件使用例子') self.setGeometry(300, 300, 300, 200) label = QLabel('请选择一项:', self) combo_box = QComboBox(self) combo_box.addItem('选项1') combo_box.addItem('选项2') combo_box.addItem('选项3') combo_box.currentIndexChanged.connect(self.on_combo_box_changed) layout = QVBoxLayout() layout.addWidget(label) layout.addWidget(combo_box) self.setLayout(layout) self.show() def on_combo_box_changed(self, index): print(index) if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 该例子创建了一个窗口,包含一个QLabel控件和一个QComboBox控件,当选项改变时会触发on_combo_box_changed()方法。当选项改变时,会在控制台输出当前选中的选项的索引值。 希望这个例子能够帮助你理解使用PyQt5中的QComboBox控件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值