电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python GUI庫圖形界面開發之PyQt5時間控件QTimer詳細使用方法與實例

瀏覽:94日期:2022-08-06 08:04:40
QTimer控件介紹

如果在應用程序中周期性地進行某項操作,比如周期性的檢測主機的cpu值,則需要用到QTimer定時器,QTimer類提供了重復和單次的定時器,要使用定時器,需要先創建一個QTimer實例,將其Timeout信號連接到槽函數,并調用start(),然后,定時器,會以恒定的間隔發出timeout信號

當窗口的控件收到Timeout信號后,他就會停止這個定時器,這是在圖形用戶界面中實現復雜工作的一個典型用法,隨著技術的進步,多線程在越來越多的平臺上被使用,QTimer對象會被替代掉

QTimer類中的常用方法 方法 描述 start(milliseconds) 啟動或重新啟動定時器,時間間隔為毫秒,如果定時器已經運行,他將停止并重新啟動,如果singleSlot信號為真,定時器僅被激活一次 Stop() 停止定時器 QTimer類中常用的信號 信號 描述 singleShot 在給定的時間間隔后調用一個槽函數時發射此信號 timeout 當定時器超時時發射此信號

QTimer的使用實例

import sysfrom PyQt5.QtWidgets import QWidget,QPushButton,QApplication,QListWidget,QGridLayout,QLabelfrom PyQt5.QtCore import QTimer,QDateTimeclass WinForm(QWidget): def __init__(self,parent=None): super(WinForm, self).__init__(parent) #設置標題 self.setWindowTitle(’QTimer demo’) #實例化一些控件 self.listFile=QListWidget() self.lable=QLabel(’顯示當前時間’) self.startBtn=QPushButton(’開始’) self.endBtn=QPushButton(’結束’) #柵格布局 layout=QGridLayout() #初始化一個定時器 self.timer=QTimer() #定時器結束,觸發showTime方法 self.timer.timeout.connect(self.showTime) #添加控件到柵格指定位置 layout.addWidget(self.lable,0,0,1,2) layout.addWidget(self.startBtn,1,0) layout.addWidget(self.endBtn,1,1) #開始結束按鈕點擊觸發相應的槽函數 self.startBtn.clicked.connect(self.startTimer) self.endBtn.clicked.connect(self.endTimer) #設置布局方式 self.setLayout(layout) def showTime(self): #獲取系統當前時間 time=QDateTime.currentDateTime() #設置系統時間的顯示格式 timeDisplay=time.toString(’yyyy-MM-dd hh:mm:ss dddd’) #在標簽上顯示時間 self.lable.setText(timeDisplay) 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)if __name__ == ’__main__’: app=QApplication(sys.argv) form=WinForm() form.show() sys.exit(app.exec_())

運行效果圖

python GUI庫圖形界面開發之PyQt5時間控件QTimer詳細使用方法與實例

代碼分析

首先初始化一個定時器,把定時器的timeout信號與showTime()槽函數連接起來

self.timer=QTimer(self)self.timer.timeout.connect(self.showTime)

使用連接的槽函數顯示當前時間,并在標簽上顯示系統當前的時間

def showTime(self): #獲取系統當前時間 time=QDateTime.currentDateTime() #設置系統時間的顯示格式 timeDisplay=time.toString(’yyyy-MM-dd hh:mm:ss dddd’) #在標簽上顯示時間 self.lable.setText(timeDisplay)

單擊開始按鈕,啟動定時器,并使按鈕失效

#設置時間間隔并啟動定時器 self.timer.start(1000) #設置開始按鈕不可點擊,結束按鈕可點擊 self.startBtn.setEnabled(False) self.endBtn.setEnabled(True)

單擊結束按鈕,停止定時器,并使按鈕失效

#停止定時器 self.timer.stop() #結束按鈕不可點擊,開始按鈕可以點擊 self.startBtn.setEnabled(True) self.endBtn.setEnabled(False)

QTimer小應用實例

import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *if __name__ == ’__main__’: app=QApplication(sys.argv) #設置標簽以及文本內容 label=QLabel(’<font color=red size=128><b>Hello PyQt,窗口會在10秒后消失!</b></font>’) #設置無邊框窗口 label.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint) label.show() #設置10秒后自動退出 QTimer.singleShot(10000,app.quit) sys.exit(app.exec_())

運行效果如圖

python GUI庫圖形界面開發之PyQt5時間控件QTimer詳細使用方法與實例

代碼分析

彈出的窗口會在10秒后消失,模仿程序的啟動界面,將彈出的窗口設置為無邊框

#設置無邊框窗口label.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint)

使用QTimer設置時間間隔,10秒后退出程序

#設置10秒后自動退出QTimer.singleShot(10000,app.quit)

本文詳細介紹了PyQt5時間控件QTimer詳細使用方法與實例,更多關于PyQt5時間控件QTimer方面的知識請查看下面的相關鏈接

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 高压包-点火器-高压发生器-点火变压器-江苏天网 | 聚合氯化铝厂家-聚合氯化铝铁价格-河南洁康环保科技 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 必胜高考网_全国高考备考和志愿填报信息平台 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 郑州水质检测中心_井水检测_河南废气检测_河南中环嘉创检测 | 金现代信息产业股份有限公司--数字化解决方案供应商 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | J.S.Bach 圣巴赫_高端背景音乐系统_官网| 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 济南铝方通-济南铝方通价格-济南方通厂家-山东鲁方通建材有限公司 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 广东成考网-广东成人高考网 | 进口消泡剂-道康宁消泡剂-陶氏消泡剂-大洋消泡剂 | 电磁流量计_智能防腐防爆管道式计量表-金湖凯铭仪表有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 手术室净化厂家-成都做医院净化工程的公司-四川华锐-15年特殊科室建设经验 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 压缩空气冷冻式干燥机_吸附式干燥机_吸干机_沪盛冷干机 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 沙盘模型公司_沙盘模型制作公司_建筑模型公司_工业机械模型制作厂家 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 不锈钢拉手厂家|浴室门拉手厂家|江门市蓬江区金志翔五金制品有限公司 | 热回收盐水机组-反应釜冷水机组-高低温冷水机组-北京蓝海神骏科技有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 |