方法一:利用每个对象包含的timerEvent函数
方法二:利用定时器模块 需要 from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QApplication, QWidget,QLabel,QPushButton
from PyQt5.QtCore import *
import sys
class myobject(QObject):
def timerEvent(self, evt): #重写对象的定时器函数
print(evt,'1')
#因为定时器对象是根据每个控件 所以这里直接self.obj.killTimer(self.id)是没用的 因为win类根本就不在这里
class win(QWidget): #创建一个类,为了集成控件
def __init__(self):
super(win, self).__init__()
self.setWindowTitle('定时器的使用')
self.resize(200,200)
self.setup_ui()
def setup_ui(self):
#label = QLabel('标签控件', self)
button = QPushButton('按钮', self)
#label.move(10, 10)
button.move(70, 150)
button.pressed.connect(self.a)
self.obj=myobject(self)
self.id=self.obj.startTimer(1000) #启动对象定时器函数
#可以创建多个,每个返回的id不同
#每个一定的时间,就会自动执行对象中的timerEvent函数
#参数1 间隔时间,单位毫秒
def a(self):
print('按钮被点击了')
self.obj.killTimer(self.id) #释放对象的定时器函数
if __name__=='__main__':
app=QApplication(sys.argv) #创建应用
window=win()
window.show()
sys.exit(app.exec_())
具体详情查看点击这里