PyQt DateEdit 小部件不默认为系统时间
Posted
技术标签:
【中文标题】PyQt DateEdit 小部件不默认为系统时间【英文标题】:PyQt DateEdit widget not defaulting to system time 【发布时间】:2013-03-13 21:40:57 【问题描述】:我正在创建一个 GUI 并尝试使用 DateEdit 从用户那里获取日期。它工作正常,除了当我启动应用程序时,默认日期是 2000 年 1 月 1 日。如何让 DateEdit 小部件默认为系统时间?我在 PyQt 文档中找到的任何内容都没有帮助我。
self.date = QtGui.QDateEdit(self.wizardPage2)
self.date.setMaximumDateTime(QtCore.QDateTime(QtCore.QDate(7999, 12, 28), QtCore.QTime(23, 59, 59)))
self.date.setCalendarPopup(True)
【问题讨论】:
【参考方案1】:您正在寻找QDateTime.currentDateTime():
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from PyQt4 import QtGui, QtCore
class MyWindow(QtGui.QWidget):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.dateEdit = QtGui.QDateEdit(self)
self.dateEdit.setDateTime(QtCore.QDateTime.currentDateTime())
self.dateEdit.setMaximumDate(QtCore.QDate(7999, 12, 28))
self.dateEdit.setMaximumTime(QtCore.QTime(23, 59, 59))
self.dateEdit.setCalendarPopup(True)
self.layoutHorizontal = QtGui.QHBoxLayout(self)
self.layoutHorizontal.addWidget(self.dateEdit)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
app.setApplicationName('MyWindow')
main = MyWindow()
main.show()
sys.exit(app.exec_())
【讨论】:
以上是关于PyQt DateEdit 小部件不默认为系统时间的主要内容,如果未能解决你的问题,请参考以下文章