首页 > 解决方案 > 如何在 PySide6 中将 QDate 转换为 Python 日期对象

问题描述

我试图从 QDateEdit 获取日期,以便将其保存到数据库中,但是当我在 PySide6 中执行代码时,它给了我一个错误:

value = self.ui.dateEdit.date()
var_name = str(value.toPyDate())
    

错误:

PySide6.QtCore.QDate object has no attribute 'toPyDate'

如果除此之外还有其他方法可以从 QDateEdit 获取 Python 日期并将其保存到数据库中,我将不胜感激。

标签: pythondatetimepyqtpyside6qdate

解决方案


PyQt 和 PySide 之间用于将 Qt 日期/时间对象转换为 Python 对象的 API 不同。对于 PySide2 和 PySide6,您必须执行以下操作:

qdate = QtCore.QDate.currentDate()
pydate = qdate.toPython()

(这也适用于 QDateTime 对象)。

对于 PyQt5/PyQt6,你必须这样做:

qdate = QtCore.QDate.currentDate()
pydate = qdate.toPyDate()

qdatetime = QtCore.QDateTime.currentDateTime()
pydatetime = qdate.toPyDateTime()

所有这些 PySide/PyQt API 都返回一个 Python日期时间对象


推荐阅读