gpt4 book ai didi

python-3.x - PyQt5 QCalendarWidget selectedDate 格式更改

转载 作者:行者123 更新时间:2023-12-03 16:43:35 26 4
gpt4 key购买 nike

我一直在尝试使用 QCalendarWidget 来选择我稍后将使用的日期。

所以我创建了小部件,它显示并且看起来都很好。
然后我在文本浏览器中打印所选日期进行测试,我发现日期格式错误。

这是与此问题相关的代码:

from PyQt5 import QtGui, QtCore, QtWidgets, uic

class Window(QtWidgets.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.ui = uic.loadUi('rent_creation.ui', self)
#the widgets are called calendarWidget_start_date_2 and calendarWidget_end_date_2
self.ui.activate_thescript.clicked.connect(self.activate_script)
self.show()

def activate_script(self):
global start_date
global end_date
start_date = self.ui.calendarWidget_start_date_2.selectedDate().toString()
end_date = self.ui.calendarWidget_end_date_2.selectedDate().toString()
#print data in text browser
text = "Start date: %s \n End date: %s \n" %(start_date, end_date)
self.ui.textBrowser.setText(text)

start_date = QtCore.QDate.currentDate()
end_date = QtCore.QDate.currentDate()

def run():
app = QtWidgets.QApplication(sys.argv)
GUI = Window()
sys.exit(app.exec_())


run()

结果是:
Start date: Wed May 9 2018 
End date: Tue May 15 2018

我需要结果中的日期格式为:
Start date: 2018-05-09 
End date: 2018-05-15

谢谢您的帮助 :)

(我仅在示例中使用全局变量,显然我在我的真实代码中将它们踢出)

最佳答案

您必须通过 toString() 格式"yyyy-MM-dd" :

...
start_date = self.ui.calendarWidget_start_date_2.selectedDate().toString("yyyy-MM-dd")
end_date = self.ui.calendarWidget_end_date_2.selectedDate().toString("yyyy-MM-dd")
...

QtCore.Qt.ISODate :
...
start_date = self.ui.calendarWidget_start_date_2.selectedDate().toString(QtCore.Qt.ISODate)
end_date = self.ui.calendarWidget_end_date_2.selectedDate().toString(QtCore.Qt.ISODate)
...

关于python-3.x - PyQt5 QCalendarWidget selectedDate 格式更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50386478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com