from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import sys
class ShowTime(QWidget):
"""
动态显示当前时间
QTimer
多线程:用于同时完成多个任务
"""
def __init__(self):
super(ShowTime, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('动态显示当前时间')
self.label = QLabel('显示当前时间')
self.startbtn = QPushButton('开始')
self.endbtn = QPushButton('结束')
layout = QGridLayout()
self.timer = QTimer()
self.timer.timeout.connect(self.showTime)
layout.addWidget(self.label, 0, 0, 1, 2)
layout.addWidget(self.startbtn, 1, 0)
layout.addWidget(self.endbtn, 1, 1)
self.startbtn.clicked.connect(self.startTimer)
self.endbtn.clicked.connect(self.endTimer)
self.setLayout(layout)
def showTime(self):
time = QDateTime.currentDateTime()
timeDisplay = time.toString('yyyy-MM-dd hh:mm:ss dddd')
self.label.setText(timeDisplay)
def startTimer(self):
self.timer.start(1000)
self.startbtn.setEnabled(False)
self.endbtn.setEnabled(True)
def endTimer(self):
self.timer.stop()
self.startbtn.setEnabled(True)
self.endbtn.setEnabled(False)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = ShowTime()
print(main.__doc__)
main.show()
sys.exit(app.exec_())
结果



