如何修改PyQt5 QCalendarWidget选中日期的显示格式?
解决QCalendarWidget日期格式问题
嘿,这个问题很好解决!你现在得到的是系统默认的日期字符串格式,因为调用toString()时没有指定自定义格式规则。只需要给toString()方法传入指定的格式参数,就能得到你想要的YYYY-MM-DD样式了。
修改思路
Qt的QDate.toString()支持传入格式字符串来定义输出样式,我们需要用到的格式是"yyyy-MM-dd":
yyyy:代表4位完整年份(比如2018)MM:代表两位月份(不足两位时自动补0,比如05)dd:代表两位日期(不足两位时自动补0,比如09)
修改后的代码
把你activate_script方法里获取日期的部分替换成下面的代码即可:
def activate_script(self): # 这里移除了全局变量,按你实际代码情况调整 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") # 打印到textBrowser 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()
修改后运行,textBrowser里就会输出你期望的格式:
Start date: 2018-05-09 End date: 2018-05-15
内容的提问来源于stack exchange,提问作者Alon
相关产品推荐
相关产品推荐

