任务目标:
在窗口状态栏中实时显示当前日期时间
设计:右键单击,然后创建状态栏
完整代码:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(467, 181)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.statusBar = QtWidgets.QStatusBar(MainWindow)
self.statusBar.setObjectName("statusBar")
MainWindow.setStatusBar(self.statusBar)
timer = QtCore.QTimer(MainWindow) # 创建一个QTimer计时器对象
timer.timeout.connect(self.showtime) # 发射timeout信号,与自定义槽函数关联
timer.start() # 启动计时器
# 自定义槽函数,用来在状态栏中显示当前日期时间
def showtime(self):
datetime = QtCore.QDateTime.currentDateTime() # 获取当前日期时间
text = datetime.toString("yyyy-MM-dd HH:mm:ss") # 对日期时间进行格式化
self.statusBar.showMessage('当前日期时间:' + text, 0) # 在状态栏中显示日期时间
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
import sys
if __name__ == '__main__':
app=QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
加入自定义槽函数和QTimer计时器对象
效果:实时显示时间