from PyQt5 import QtWidgets, QtCore, QtGui
import sys
class TestWindow(QtWidgets.QDialog):
def __init__(self):
super().__init__()
self.n = 0
self.startBtn = QtWidgets.QPushButton("Start", self)
self.endBtn = QtWidgets.QPushButton("Stop", self)
self.doBtn = QtWidgets.QPushButton("do(隐藏)", self)
self.sec_label = QtWidgets.QLabel(self)
layout = QtWidgets.QGridLayout(self)
layout.addWidget(self.startBtn,0,0)
layout.addWidget(self.endBtn,0,1)
layout.addWidget(self.doBtn,0,2)
layout.addWidget(self.sec_label,1,0,1,2)
self.startBtn.clicked.connect(self.generate_list)
#@QtCore.pyqtSlot()
# 生成列表信息
def generate_list(self):
li = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
li_t = []
for i in li:
for n in range(3):
li_t.append(i)
self.playList = []
for x in range(10): # 可将10设置得足够大
self.playList = self.playList + li_t
print(self.playList)
#初始化一个定时器
self.timer=QtCore.QTimer()
#定时器结束,触发showTime方法
self.timer.timeout.connect(self.printItem)
#开始结束按钮点击触发相应的槽函数
self.doBtn.clicked.connect(self.startTimer)
self.endBtn.clicked.connect(self.endTimer)
self.doBtn.click()
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)
def printItem(self):
print(self.playList[self.n])
self.n += 1
if __name__ == '__main__':
app=QtWidgets.QApplication(sys.argv)
form=TestWindow()
form.show()
sys.exit(app.exec_())
Qtimer
最新推荐文章于 2023-10-06 18:35:15 发布