📅  最后修改于: 2023-12-03 15:33:53.012000             🧑  作者: Mango
在 PyQt5 中,PyQt5.QDateEdit 类允许用户通过编辑器选择日期。在这个教程中,我们将学习如何使用 PyQt5 中的 QDateEdit 获取用户选择的日期和时间。
我们将首先创建一个 PyQt5 应用程序窗口,并在窗口中添加 QDateEdit 控件。然后,我们将使用 PyQt5 中的 QDateEdit.date() 方法来获取用户选择的日期。
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class MyWindow(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.setWindowTitle('PyQt5 QDateEdit – 获取时间')
# 添加 QDateEdit 控件
self.dateedit = QtWidgets.QDateEdit(self)
self.dateedit.setDateTime(QtCore.QDateTime.currentDateTime())
self.dateedit.setCalendarPopup(True)
self.dateedit.setGeometry(50, 50, 200, 30)
self.dateedit.dateChanged.connect(self.get_date_time)
def get_date_time(self):
# 获取 QDateEdit 控件中选择的时间
date_time = self.dateedit.date()
print(date_time.toString())
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
在上面的代码中,我们首先创建一个 PyQt5 应用程序窗口,然后添加了一个 QDateEdit 控件。通过将 dateChanged 信号连接到 get_date_time 函数,我们可以在用户选择新时间时获取相应的日期时间对象。
在 get_date_time 函数中,我们通过使用 QDateEdit.date() 方法获取用户选择的日期时间对象。然后,我们调用 QDate.toString() 方法来将此日期时间对象转换为字符串并将其打印到控制台上。
在上面的代码中,我们的 PyQt5 应用程序窗口上看起来像这样:
现在,当我们选择一个新的日期,它将立即打印到控制台上。
Tue Aug 31 00:00:00 2021
在本节中,我们看到了如何使用 PyQt5 中的 QDateEdit 控件来获取用户输入的日期。我们使用 QDateEdit.date() 方法来获取用户选择的日期时间对象,并使用 QDate.toString() 方法将此对象转换为字符串,以将其打印到控制台上。