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

 时间:2026-02-17 01:01:21

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库制作窗口和进度条

  • 焊盘脱落的补救方法
  • 蜂鸣器怎么才会响
  • win10怎么查看安装了哪些wsl子系统
  • VMware怎么连接远程服务器
  • LINUX下如何实现DDNS动态域名解析服务
  • 热门搜索
    小手牵大手手抄报 三年级数学手抄报内容 好读书读好书手抄报 我爱校园手抄报 关于环保手抄报的内容 三爱三节手抄报内容 应急避险手抄报 小年手抄报 国庆节的手抄报图片简单又漂亮 我爱文学的手抄报