在 python 中自动更新日期和时间

Automatic update of date and time in python

  1. 列表项

我正在尝试显示我的 windows 当前日期 time.date 并且时间没有更新 automatically.when 我正在关闭并且 运行 我的 python文件获取系统日期并 time.please 在下面找到我的代码

import datetime
import threading


now = datetime.datetime.now()
from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(400, 300)
        self.label = QtGui.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(100, 110, 241, 17))
        self.label.setObjectName(_fromUtf8("label"))

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    self.timer = QtCore.QTimer()
    self.timer.start(10 * 1000) # 10 seconds

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.label.setText(_translate("Form",QtCore.now.strftime("%Y-%m-%d %H:%M"), None))


if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    Form = QtGui.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

您必须创建一个定时运行的计时器,并调用retranslateUi函数。

timer = QtCore.QTimer(Form)
timer.timeout.connect(lambda: ui.retranslateUi(Form))
timer.start(1000)

我们必须更新 retranslateUi 中的时间,我们将其修改为:

def retranslateUi(self, Form):
    now = datetime.datetime.now()
    Form.setWindowTitle(_translate("Form", "Form", None))
    self.label.setText(_translate("Form",now.strftime("%Y-%m-%d %H:%M"), None))

完整代码:

import datetime

now = datetime.datetime.now()
from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(400, 300)
        self.label = QtGui.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(100, 110, 241, 17))
        self.label.setObjectName(_fromUtf8("label"))

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        now = datetime.datetime.now()
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.label.setText(_translate("Form",now.strftime("%Y-%m-%d %H:%M"), None))

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    Form = QtGui.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    timer = QtCore.QTimer(Form)
    timer.timeout.connect(lambda: ui.retranslateUi(Form))
    timer.start(1000)
    Form.show()
    sys.exit(app.exec_())