PyQt:如何从 Python 转换为 QDate 样式

alp*_*ric 3 python pyqt

QtCore.QDate 接受三个整数作为参数:首先是年,然后是月,然后是日期。例子:

myDateEdit.setMaximumDate(QtCore.QDate(2015, 12, 28)) 
Run Code Online (Sandbox Code Playgroud)

为了将 QDate 的“样式”“转换”为 Python,请使用:

myPythonicDate=myDateEdit.date().toPyDate()
print myPythonicDate
'2014-04-17'
Run Code Online (Sandbox Code Playgroud)

问题是:

# With a variable:

myPythonicDate='2014-04-17'
Run Code Online (Sandbox Code Playgroud)

什么语法用于声明 QDate 对象......以下将不起作用:

myDateEdit.setDate(QtCore.QDate(myPythonicDate))
Run Code Online (Sandbox Code Playgroud)

eso*_*ton 5

will 为您进行转换的fromString方法QDate:

myPythonicDate='2014-04-17'
qtDate = QtCore.QDate.fromString(myPythonicDate, 'yyyy-MM-dd')
print qtDate.year(), qtDate.month(), qtDate.day()
2014 4 17
Run Code Online (Sandbox Code Playgroud)

yyyy-MM-dd是您的日期格式;yyyy表示四位数年份,MM而dd表示月份/日期是两个字符。有关fromString其他字段选项的列表,请参阅文档。

  • 这是唯一的方法吗?我的意思是,转换为字符串作为中间步骤既不高效也不简洁。 (4认同)