Python利用PyQt5库制作窗口和进度条

2025-10-24 02:09:06

1、第一,打开IDLE,启动Python的集中开发环境。

Python利用PyQt5库制作窗口和进度条

2、第二,在IDLE中按File-->New File,新建一个Python脚本(Python属于脚本语言)。

Python利用PyQt5库制作窗口和进度条

3、第三,在Python脚本中首先输入如下代码,用于从PyQt5库中导入所需的模块。需要注意的是:要事先安装好PyQt库。可以百度“Python安装第三方库sip和PyQt5 ”了解如何安装。

# 20190112Python利用PyQt5库制作窗口和进度条

from PyQt5.QtWidgets import QApplication,QWidget,QProgressBar,QPushButton

# 导入控件库的应用,窗口,进度条,按钮

from PyQt5.QtCore import QBasicTimer

# 导入QtCore库的计时器

from PyQt5.QtGui import QIcon

# 设置窗口图标

import sys

Python利用PyQt5库制作窗口和进度条

4、第四,下面接着输入如下代码,用于创建窗口类、创建初始函数、创建进度条,创建槽函数和执行该模块。

class Example(QWidget):  # 创建一个窗口类

    def __init__(self):  # 创建初始函数

        super().__init__()  # 超级类解决多重继承问题

        self.initUI()  # 调用initUI

        self.btn.clicked.connect(self.doAction)  # 信号槽-按钮是信号函数是槽

    def initUI(self):    # 创建UI布局

        self.pbar=QProgressBar(self)  # 创建进度条

        self.pbar.setGeometry(30,50,200,25)  #设置进度条左上30+50,宽高200x25

        self.btn=QPushButton('运行',self)  # 创建按钮

        self.btn.move(50,90)  # 设置进度条从50移动到90

        self.timer=QBasicTimer()  # 创建定时器

        self.step=0               # 设置进度条初始值

        self.setGeometry(300,300,350,270)  # 设置窗体(口)大小

        self.setWindowTitle('元旦进度条')

        self.show()  # 显示界面

    def timerEvent(self,*args,**kwargs):

        if self.step>=100:

            self.timer.stop()

            self.btn.setText('完成')

            return

        self.step=self.step+1

        self.pbar.setValue(self.step)  # 刷新进度条          

    def doAction(self):  # 槽函数

        if self.timer.isActive():  # 判断进度条是否已经激活处于运行状态

            self.timer.stop()

            self.btn.setText('运行')

        else:

            self.timer.start(100,self)  # 激活进度条

            self.btn.setText('停止')  

            

if __name__=='__main__':   # 执行模块

    app=QApplication(sys.argv)  # 创建Qt应用对象

    ex=Example()

    sys.exit(app.exec())  # 开始运行程序

Python利用PyQt5库制作窗口和进度条

5、第五,Ctrl+S保存该脚本,F5运行该脚本,便会得到如下进度条。

Python利用PyQt5库制作窗口和进度条

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢