日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python进度条 pyqt_Python高级进阶#015 pyqt5进度条QProgressBar结合使用qbasictimer

發布時間:2025/4/16 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python进度条 pyqt_Python高级进阶#015 pyqt5进度条QProgressBar结合使用qbasictimer 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本期GUI界面,我們繼續學習新的控件Qprogressbar。

知識回顧

1.滑動控件qslider

控件設置的關鍵:設置最大值、最小值,絕對范圍。

2.核心類庫QtCore,枚舉類Qt

核心枚舉類的使用,可以幫助我們對代碼的理解。

一、進度條的使用思想

進度條qprogressbar

使用思想:

1.載入類庫

2.初始化類對象

3.設置最小值和最大值

4.時鐘的使用QBasicTimer,槽方法對應類庫的timerEvent

5.判斷什么時候停止加載進度條

這里我們在學習使用進度條的時候,必須要結合使用時鐘控件,這樣才能讓我們看到進度條動的感覺。

二、制作案例

說明如下:

1.界面由進度條和按鈕組成

2.進度條的值范圍為0~100

3.按鈕的狀態為“開始”、“停止”、“完成”

4..按鈕需要能夠控制進度條的運行

三、開發過程知識點介紹

1.導入時鐘類

from PyQt5.QtCore import QBasicTimer

2.初始化進度條

self.pgb=QProgressBar(self)? 類對象的初始化

self.pgb.move(50,50)? ?將進度條移動到指定位置

self.pgb.resize(300,20)? ?設置進度條寬高

3.設置進度條的范圍

#設置進度條的范圍

self.pgb.setMinimum(0)

self.pgb.setMaximum(100)

self.pgb.setValue(50)? ?設置當前進度

4.時鐘控件

作用:每隔多少時間執行一次時鐘內部的代碼。

時間單位為:毫秒

1秒=1000毫秒

QBasicTimer控件解析

isActive方法:返回時鐘控件是否開啟。如果開啟返回true,否則為false

Start方法:使得時鐘控件開啟來。需要傳入時間間隔,時間單位為毫秒。

簡單的參數使用格式:

Start(時間,self)

Stop方法:使得時鐘控件關閉。

timerId方法:返回當前時鐘控件的ID,表示某個時鐘控件。這個主要用于多個時鐘控件使用的時候,區分不同的時鐘控件。

5.時鐘控件的事件重寫

對應的槽方法是Qwidget控件自帶的timerEvent事件。

時鐘控件的每個多少時間要運行一次的代碼就是在timerEvent方法中,我們在使用時鐘控件的時候要重寫這個方法。

時鐘控件狀態切換的核心代碼:

if self.timer1.isActive():? 檢測是否開啟

self.timer1.stop()

self.btn.setText(“開始”)? ?這里的按鈕的狀態顯示的是下一次的行為

else:

self.timer1.start(100, self)

self.btn.setText("停止")

四、總結強調

1.掌握Qprogressbar的控件的配置

2.掌握時鐘控件的基本使用QBasicTimer

3.理解按鈕控制時鐘控件達到進度條的運行的思想。

本節知識源代碼:

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QProgressBarfrom PyQt5.QtCore import QBasicTimerclass MyClass(QWidget):def __init__(self):super(MyClass, self).__init__()self.initUI()def initUI(self):self.setWindowTitle("劉金玉編程")self.setGeometry(300,100,400,300)#載入進度條控件self.pgb=QProgressBar(self)self.pgb.move(50,50)self.pgb.resize(300,20)#配置一個值表示進度條的當前進度self.pv=0#申明一個時鐘控件self.timer1=QBasicTimer()#設置進度條的范圍self.pgb.setMinimum(0)self.pgb.setMaximum(100)self.pgb.setValue(self.pv)#載入按鈕self.btn=QPushButton("開始",self)self.btn.move(50,100)self.btn.clicked.connect(self.myTimerState)self.show()def myTimerState(self):if self.timer1.isActive():self.timer1.stop()self.btn.setText("開始")else:self.timer1.start(100, self)self.btn.setText("停止")def timerEvent(self,e):if self.pv==100:self.timer1.stop()self.btn.setText("完成")else:self.pv+=1self.pgb.setValue(self.pv)if __name__=="__main__":app=QApplication(sys.argv)mc=MyClass()app.exec_()

長按關注公眾號

相關文章:

總結

以上是生活随笔為你收集整理的python进度条 pyqt_Python高级进阶#015 pyqt5进度条QProgressBar结合使用qbasictimer的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。