PyQt DateEdit控件未默认显示系统时间

5 投票
1 回答
10332 浏览
提问于 2025-04-17 19:00

我正在创建一个图形用户界面(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 个回答

11

你可以查看 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_())

撰写回答