PyQt5学习之计时器

from PyQt5.Qt import *
import sys


# 在Label里面调用计时器
class MyLabel(QLabel):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setStyleSheet("font-size:50px;")
        self.move(10, 10)
        self.resize(100, 100)
        self.time_id = None

    def start(self, s, ms):
        self.setText(str(s))
        self.time_id = self.startTimer(ms)

    def timerEvent(self, evt):
        sec = int(self.text())
        self.setText(str(sec + 1))
        if sec == 500:
            self.setText("500")
            self.killTimer(self.time_id)


# 在Widget里面调用计时器
class MyWidget(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.x = 100
        self.setWindowTitle("自动变大")
        self.resize(100, 100)
        self.move(100, 100)
        self.time_id = self.startTimer(10)

    def timerEvent(self, evt):
        self.resize(self.width() + 1, self.height() + 1)
        if self.width() == 500:
            self.killTimer(self.time_id)


if __name__ == '__main__':
    app = QApplication(sys.argv)

    window = MyWidget()
    label = MyLabel(window)
    label.start(100, 10)

    window.show()

    sys.exit(app.exec_())

标签: PyQt5

文档最后编辑于4年前

评论

评论已关闭

小小英雄杜恩

子曰:“弟子入则孝,出则弟,谨而信,泛爱众,而亲仁。行有余力,则以学文。”


:D 获取中...