from PyQt5.Qt import *
import sys
class Mywidget(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5--定时器')
self.resize(500, 500)
self.time_id = self.startTimer(1000)
def timerEvent(self, eve):
self.resize(self.width()+ 100, self.height()+100)
if self.width() == 1000:
self.killTimer(self.time_id)
class Mylabel(QLabel):
def __init__(self, *args, **kwargs): # 传递参数的意义,是为了让lable成为window的子控件
super().__init__(*args, **kwargs)
self.setText('10')
self.move(200, 195)
self.setStyleSheet('font-size: 43px;')
self.time_id = self.startTimer(1000) # 单独把time_id放在这里,就变成局部变量了,可以把他绑定到lable成为属性
def timerEvent(self, eve): # 如果有两个定时器,那如何编辑事件呢????????
# print('xx')
a = int(self.text())
a = a - 1
self.setText(str(a))
if a == 0 :
self.killTimer(self.time_id)
self.setText('停止')
app = QApplication(sys.argv)
window = Mywidget()
label = Mylabel(window)
window.show()
sys.exit(app.exec_())
自定义定时器~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
from PyQt5.Qt import *
class Window(QWidget) :
timer = QTimer()
a = 0
timer1 = QTimer()
b = 100
def __init__(self):
super().__init__()
self.setWindowTitle('空白')
self.resize(500, 500)
self.timer.start(1000)
self.timer1.start(3000)
self.timer.timeout.connect(self.countTime)
self.timer1.timeout.connect(self.countTime1)
self.setup_ui()
def countTime(self):
print(self.a)
self.a += 1
def countTime1(self):
print(self.b)
self.b += 100
def setup_ui(self):
pass
if __name__ == '__main__': # 如果为导入,以下不执行,如果自己测试,可以执行
import sys
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
pyqt5 -- 定时器
最新推荐文章于 2024-08-04 12:59:48 发布