Qtimer

原文地址:https://blog.csdn.net/jia666666/article/details/81672344,https://blog.csdn.net/baidu_34045013/article/details/52171887

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_())

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值