本文章的所有代码和相关文章, 仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,滥用技术产生的风险与本人无关。
本文章是自己学习的一些记录。
开始
之前学习的pyqt5今天拿来重新温习了一下,一个多线程的动态显示当前的时间
'''
动态显示当前时间
QTimer:如果完成周期性任务可以使用这个
QThread:如果完成单个任务可以使用这个
多线程:用于同时完成多个任务
'''
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Activetime(QWidget):
#初始化
def __init__(self):
super(Activetime, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("动态显示时间")
self.resize(200,100)
self.lable=QLabel("显示当前时间")
self.button1=QPushButton("开始时间")
self.button2=QPushButton("结束")
#设置网格布局
layout=QGridLayout()
self.timer=QTimer()
self.timer.timeout.connect(self.showtime)#这个通过调用槽函数来刷新时间
layout.addWidget(self.lable,0,0,1,2)
layout.addWidget(self.button1,1,0)
layout.addWidget(self.button2,1,1)
self.button1.clicked.connect(self.starttimer)
self.button2.clicked.connect(self.endtimer)
self.setLayout(layout)
def showtime(self):
time=QDateTime.currentDateTime()#获取当前时间
timedisplay=time.toString("yyyy-MM-dd hh:mm:ss dddd")#格式化一下时间
print(timedisplay)
self.lable.setText(timedisplay)
def starttimer(self):
self.timer.start(1000)#每隔一秒刷新一次,这里设置为1000ms
self.button1.setEnabled(False)
self.button2.setEnabled(True)
def endtimer(self):
self.timer.stop()
self.button1.setEnabled(True)
self.button2.setEnabled(False)
if __name__=="__main__":
app=QApplication(sys.argv)
main=Activetime()
main.show()
sys.exit(app.exec_())
动态显示效果:
self.button1.setEnabled(True)
self.button2.setEnabled(False)
这里设置就要是保证一开始的按钮是关闭的,点击之后开始和结束的相互的替换
也可以直接写成打开软件就直接显示当前的显示时间
就是不用设置开始和结束的按钮 直接获取时间,这里显示一个我之前写的一个口罩目标检测的工具,打开软件直接显示时间: