pyqt 进度条QProgressBar

pyqt 进度条

  • QProgressBar
  • 效果
  • 代码

QProgressBar

在 PyQt 应用程序中,进度条(通常称为 QProgressBar)是一个用于显示任务进度的控件。它可以显示一个水平或垂直的条形图,条形图的长度会随着进度的增加而增加

QProgressBar 的主要特性

- 范围:定义了进度条的最小值和最大值。
- 值:表示当前进度,它应该在定义的范围内。
- 方向:可以是水平的(默认)或垂直的。
- 格式:可以自定义进度条的显示格式,比如添加百分比等。

效果

在这里插入图片描述

代码

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QProgressBar
from PyQt5.QtCore import QTimer, Qt


class ProgressBarExample(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setWindowTitle('PyQt ProgressBar 示例')
        self.setGeometry(300, 300, 300, 200)

        # 创建进度条
        self.progressBar = QProgressBar(self)
        self.progressBar.setGeometry(30, 40, 200, 25)
        self.progressBar.setValue(0)  # 初始值

        # 创建按钮
        self.button = QPushButton('开始任务', self)
        self.button.setGeometry(100, 80, 100, 30)
        self.button.clicked.connect(self.startTask)

        # 布局(在这个简单示例中,我们使用绝对定位,但在复杂的应用中建议使用布局)

        # 显示窗口
        self.show()

    def startTask(self):
        # 禁用按钮以防止多次点击
        self.button.setDisabled(True)

        # 初始化计数器
        self.counter = 0

        # 设置进度条的范围
        self.progressBar.setRange(0, 100)

        # 使用定时器来模拟任务进度
        self.timer = QTimer(self)
        self.timer.timeout.connect(self.updateProgress)
        self.timer.start(100)  # 每100毫秒更新一次进度

    def updateProgress(self):
        self.counter += 1
        self.progressBar.setValue(self.counter)

        # 当进度达到100时,停止定时器并启用按钮
        if self.counter >= 100:
            self.timer.stop()
            self.button.setDisabled(False)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = ProgressBarExample()
    sys.exit(app.exec_())

相关推荐

  1. Qt基础-进度控件QPrgressBar详解

    2024-06-07 16:02:05       29 阅读
  2. 进度

    2024-06-07 16:02:05       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 16:02:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 16:02:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 16:02:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 16:02:05       20 阅读

热门阅读

  1. 【Python】使用 Python 查询域名的 IP 地址

    2024-06-07 16:02:05       11 阅读
  2. LoRa技术在物联网中的应用

    2024-06-07 16:02:05       10 阅读
  3. 迁移学习的简要概述

    2024-06-07 16:02:05       9 阅读
  4. 【小米-小爱】多模态算法岗社招面经

    2024-06-07 16:02:05       11 阅读
  5. wpf INotifyPropertyChanged

    2024-06-07 16:02:05       10 阅读
  6. 以下哪项不属于盗用视频行为?

    2024-06-07 16:02:05       9 阅读
  7. spring2基于注解开发

    2024-06-07 16:02:05       10 阅读
  8. Playwright的browser、context、page三层结构

    2024-06-07 16:02:05       9 阅读