如何解决如何从变量或文本设置日期到QDateEdit?
下面是示例代码:
date = "1-Jan-2020"
widget_date = QtWidgets.QDateEdit()
widget_date .setDisplayFormat("d-MMM-yyyy")
widget_date .setDate(QDate.fromString(date))
我想将该日期设置为QtWidgets.QDateEdit()。 但这是将默认日期设置为2000年1月1日
解决方法
您在混淆概念,setDisplayFormat()
建立了文本在小部件中的显示格式,并且没有任何干扰将字符串转换为QDate:
from PyQt5 import QtCore,QtWidgets
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
date_str = "1-Jan-2020"
# convert str to QDate
qdate = QtCore.QDate.fromString(date_str,"d-MMM-yyyy")
widget_date = QtWidgets.QDateEdit()
# Set the format of how the QDate will be displayed in the widget
widget_date.setDisplayFormat("d-MMM-yyyy")
widget_date.setDate(qdate)
widget_date.show()
sys.exit(app.exec_())
,
由于您的日期为字符串格式,我认为这可能是可能的。那么你可以使用widget_date.setDisplayFormat("%d-%b-%Y")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。