PyQt5:QProgressBar进度条

    当我们运行一个程序耗时较长时,为了提高客户感知,方便用户知道程序是否在运行,可能就需要使用进度条来提示程序运行状态以及当前运行进度。下面是一个简单的示例,仅供大家参考学习!
"""
PyQt5 教程
这个例子显示了一个进度条控件。
作者:CICT天馈TE
"""
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QPushButton
from PyQt5.QtCore import QBasicTimer, Qt


class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('进度条')
        self.setGeometry(500, 500, 250, 150)
        self.initUI()

    def initUI(self):
        # 创建界面控件
        self.pbar = QProgressBar(self)
        self.pbar.setGeometry(30, 40, 200, 25)

        self.timer = QBasicTimer()
        self.step = 0
        self.setGeometry(700, 400, 280, 170)

        self.btn = QPushButton('开始', self)
        self.btn.setFocusPolicy(Qt.NoFocus)
        self.btn.move(40, 80)

        # 定义槽函数
        self.btn.clicked.connect(self.doAction)

    def timerEvent(self, eve
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现将tqdm的进度同步到PyQt5的QProgressBar中,可以使用以下步骤: 1. 在PyQt5中创建一个QProgressBar对象,并将其添加到界面中。 2. 在tqdm的循环中使用set_value()方法更新进度条的值,该方法应该被定义为一个函数。 3. 将该函数传递给tqdm的update_callback参数中,以便在每次迭代时调用该函数。 以下是一个示例代码,可以将tqdm的进度同步到PyQt5的QProgressBar中: ```python from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QMainWindow, QProgressBar from tqdm import tqdm class MainWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.progress_bar = QProgressBar(self) self.progress_bar.setGeometry(30, 40, 200, 25) self.show() def set_value(self, value): self.progress_bar.setValue(value) if __name__ == '__main__': app = QApplication([]) window = MainWindow() for i in tqdm(range(100), desc='Processing', unit='iterations', leave=False, dynamic_ncols=True, file=None, ncols=80, mininterval=0.1, maxinterval=10.0, miniters=None, ascii=None, disable=False, unit_scale=None, unit_divisor=None, gui=False, position=None, postfix=None, initial=None, bar_format=None, smoothing=0.3, bar_update_interval=1): window.set_value(i) app.processEvents() app.exec_() ``` 在这个例子中,我们首先定义了一个MainWindow类,它包含一个QProgressBar对象。我们还定义了set_value()方法,以便在每次迭代时更新进度条的值。然后,我们使用tqdm循环来迭代100次,并将set_value()方法传递给update_callback参数中。在循环中,我们还使用app.processEvents()方法来确保进度条在每次迭代时都会更新。 这样,我们就可以将tqdm的进度同步到PyQt5的QProgressBar中了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值