您现在的位置是:主页 > news > 舟山做网站公司/外贸自建站的推广方式

舟山做网站公司/外贸自建站的推广方式

admin2025/5/7 6:46:42news

简介舟山做网站公司,外贸自建站的推广方式,网站建设大致价格2017,营销100个引流方案前言在使用PyQt5开发上位机过程中,有时候会遇到需要开启定时任务的情况,本节,我们就为大家讲述如PyQt5中定时器的具体用法。一、基础知识1.QTimer简介PyQt5中QTimer类为计时器提供了高级编程接口。 要使用它,请创建一个QTimer&…

舟山做网站公司,外贸自建站的推广方式,网站建设大致价格2017,营销100个引流方案前言在使用PyQt5开发上位机过程中,有时候会遇到需要开启定时任务的情况,本节,我们就为大家讲述如PyQt5中定时器的具体用法。一、基础知识1.QTimer简介PyQt5中QTimer类为计时器提供了高级编程接口。 要使用它,请创建一个QTimer&…

前言

在使用PyQt5开发上位机过程中,有时候会遇到需要开启定时任务的情况,本节,我们就为大家讲述如PyQt5中定时器的具体用法。

一、基础知识

1.QTimer简介

PyQt5中QTimer类为计时器提供了高级编程接口。 要使用它,请创建一个QTimer,将其超时信号连接到适当的插槽,然后调用start()。 从那时起,它将以恒定的时间间隔发出超时信号。

2.常用函数说明

fd2ea553b84718e5dbd66167eb6b4575.png

二、实例

1. QT Designer设计UI

复制“ pPyQt5快速上手基础篇4-lineEdit输入框数据显示label和LCD屏上“中image文件夹内容和edit.ui,并修改edit.ui名字为timer_lcd.ui,用Qt Designer打开如下所示:

3b790703022b79dfa24447d99ff6334e.png

修改UI如下所示:

4c7ef477adb12d88981d19928c8e0615.png

2 将*.ui转换为ui_chart.py

进入run.py目录,输入如下命令:

pyuic5 -o ui_timer.py timer.ui

3 编写python程序

# encoding=utf-8import sysimport PyQt5.QtWidgets as qwfrom PyQt5.QtCore import QTimerimport ui_timerimport datetimeclass myForm(qw.QWidget, ui_timer.Ui_Form):    def __init__(self):        super().__init__()        self.setupUi(self)        # self.lcdNumber.setDecMode()  #设置显示模式        self.lcdNumber.setSegmentStyle(self.lcdNumber.Flat)        self.lcdNumber.setDigitCount(10)        self.label.setText("0")        # self.lcdNumber.setProperty()        self.btn_start.clicked.connect(self.btn_start_cb)        self.btn_once.clicked.connect(self.btn_once_cb)        self.btn_stop.clicked.connect(self.btn_stop_cb)        self.my_timer = QTimer(self)        self.my_timer.timeout.connect(self.my_timer_cb)        self.index = 0    def text_changed_cb(self):        value = "hello world"        self.lcdNumber.display(str(value))        self.label.setText(value)    def my_timer_cb(self):        self.index += 1        current_timer = datetime.datetime.now().strftime('%Y_%m_%d-%H-%M-%S-%f')        print("[%s] self.index is %d" % (current_timer, self.index) )        self.lcdNumber.display(str(self.index))        self.label.setText(str(self.index))    def btn_start_cb(self):        print("you pressed btn_start")        self.my_timer.start(1000)    def btn_once_cb(self):        self.my_timer.setSingleShot(True)        print("setSingleShot is True")    def btn_stop_cb(self):        print("you pressed btn_stop")        self.my_timer.stop()if __name__ == '__main__':    app = qw.QApplication(sys.argv)    w = myForm()    w.show()    sys.exit(app.exec_())

上述程序实现,当点击“开始”按钮后,定时器启动,每隔一秒刷新LCD数据,当点击了“一次”按钮后,仅刷新一次LCD数据。

三、运行

进入文件目录,输入python3 run.py,即可弹出上述用QT Designer设计出来的MainWindow页面。

b8cd61c81709a7e4e2be2014ddfd5a50.png

点击“开始”按钮,等待5秒后,点击停止按钮,LCD显示数据为5,调试信息可以看到每次打印数据的具体时间。

b70979dbee7dc0f82051072c797678ad.png

紧接着点击“一次”按钮,然后再点击“开始”按钮,等待5秒左右,点击“停止”按钮

901e3ddaa8ba0cfc5a30692e4333f3b1.png

从图中可知,点击“一次”按钮后,然后再开启定时器,槽函数仅执行一次,和前文描述一致。

四、结语

(1) 槽函数执行次数

注意槽函数执行次数可设置,默认定时器开启后周期性调用槽函数,如果设置了setSingleShot(True),槽函数仅仅执行一次。

一叶孤沙出品:一沙一世界,一叶一菩提