相关配置:
Anaconda 4.2.0 (64-bit)
Python 3.5.2
程序:
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sys
class WorkThread(QThread):
trigger = pyqtSignal()
def __init__(self):
super(WorkThread, self).__init__()
def run(self):
for i in range(200000000):
s = 2*i
self.trigger.emit()
class a_main(QWidget):
global sec
sec = 0
def __init__(self):
super(a_main, self).__init__()
self.InitUi()
def InitUi(self):
self.top = QWidget()
self.top.setWindowTitle('CPU性能检测')
layout = QVBoxLayout(self.top)
self.textlib = QTextEdit('计算s = 2*i,i = 200000000')
layout.addWidget(self.textlib)
self.lcdNumber = QLCDNumber()
layout.addWidget(self.lcdNumber)
button = QPushButton('开始')
layout.addWidget(button)
self.timer = QTimer()
self.workThread = WorkThread()
button.clicked.connect(self.work)
self.timer.timeout.connect(self.countTime)
self.top.show()
def countTime(self):
global sec
sec += 1
self.lcdNumber.display(sec)
self.textlib.append('运行 {} 秒'.format(sec))
def work(self):
self.timer.start(1000)
# workThread = WorkThread()
self.workThread.start()
self.workThread.trigger.connect(self.timeStop)
def timeStop(self):
self.timer.stop()
# print('运行结束用时', self.lcdNumber.value())
# for i in range(2000000):
# s = 2*i
# self.textlib.append('{}'.format(s))
self.textlib.append('运行结束用时: {} 秒'.format(self.lcdNumber.value()))
global sec
sec = 0
if __name__ == '__main__':
app = QApplication(sys.argv)
w = a_main()
sys.exit(app.exec_())
我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼都飘散如烟,我曾经失落失望失掉所有方向,直到看见平凡才是唯一的答案。
——韩寒《平凡之路》