下面就来详细讲解Python的“PyQt5 QDateEdit-获取日期时间”的完整使用攻略。
1. PyQt5 QDateEdit简介
QDateEdit在PyQt5中是一个展示日期的控件,用户可以通过弹出日历选择器来选择日期,与之相似的还有QDateTimeEdit用于选择日期和时间。
2. 获取QDateEdit中的日期时间
在PyQt5中,我们可以通过调用QDateEdit的date()方法来获取日期,同时可以使用toString()方法将日期转换成字符串形式。代码示意如下:
from PyQt5.QtCore import QDate
from PyQt5.QtWidgets import QApplication, QWidget, QDateEdit
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.date_edit = QDateEdit(self)
self.date_edit.setDate(QDate.currentDate())
self.date_edit.dateChanged.connect(self.get_date)
def get_date(self, date):
date_str = date.toString('yyyy-MM-dd')
print(date_str)
上面的代码中,我们创建了一个QDateEdit控件,并设置其初始显示日期为当前日期。随后我们连接了dateChanged信号到get_date回调函数上,在get_date中通过date对象的toString()方法将日期转换为字符串,并打印输出。
3. 例子:获取QDateEdit中的日期并在QLabel中显示
我们可以通过以下代码来将获取到的日期显示在一个QLabel中:
from PyQt5.QtCore import QDate
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout, QDateEdit
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.date_edit = QDateEdit(self)
self.date_edit.setDate(QDate.currentDate())
self.date_edit.dateChanged.connect(self.get_date)
self.date_label = QLabel(self)
layout = QVBoxLayout()
layout.addWidget(self.date_edit)
layout.addWidget(self.date_label)
self.setLayout(layout)
def get_date(self, date):
date_str = date.toString('yyyy-MM-dd')
self.date_label.setText(date_str)
上面的代码中,我们创建了一个垂直布局,并将QDateEdit和QLabel添加到其中。在get_date方法中,我们获取到日期并将其设置为QLabel的文本内容。
4. 例子:获取QDateEdit中的时间和日期并打印输出
我们可以通过以下代码来将获取到的时间和日期打印输出:
from PyQt5.QtWidgets import QApplication, QWidget, QTimeEdit, QDateEdit, QVBoxLayout
from PyQt5.QtCore import QTime, QDate
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.time_edit = QTimeEdit(self)
self.date_edit = QDateEdit(self)
self.time_edit.setTime(QTime.currentTime())
self.date_edit.setDate(QDate.currentDate())
self.time_edit.timeChanged.connect(self.get_datetime)
self.date_edit.dateChanged.connect(self.get_datetime)
layout = QVBoxLayout()
layout.addWidget(self.time_edit)
layout.addWidget(self.date_edit)
self.setLayout(layout)
def get_datetime(self):
time_str = self.time_edit.time().toString('hh:mm:ss')
date_str = self.date_edit.date().toString('yyyy-MM-dd')
print(f'Date: {date_str}, Time: {time_str}')
上面的代码中,我们创建了一个QTimeEdit和一个QDateEdit控件,将其加入垂直布局中。在get_datetime方法中,我们分别获取到时间和日期并将其转换为字符串形式,随后使用print函数将其打印输出。
5. 总结
通过上述示例,我们可以清楚地了解如何在PyQt5中使用QDateEdit来获取日期时间,并将其转换为字符串或者打印输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QDateEdit – 获取日期时间 - Python技术站