PyQt5 | 垂直进度条

  • Post category:Python

PyQt5是Python语言下的GUI开发库。垂直进度条是PyQt5提供的一个进度条控件,常用于显示当前任务进度或程序执行进度,本篇攻略将详细讲解PyQt5中垂直进度条的使用。

安装PyQt5

PyQt5库可以通过pip进行安装,Windows系统下可以使用如下命令:

pip install PyQt5

创建垂直进度条

创建垂直进度条控件的语法如下:

import sys
from PyQt5.QtWidgets import QApplication, QVBoxLayout, QProgressBar, QWidget

app = QApplication(sys.argv)

# 创建窗口
window = QWidget()

# 创建一个垂直布局
layout = QVBoxLayout()

# 创建进度条
progress = QProgressBar()

# 将进度条添加到布局
layout.addWidget(progress)

# 将布局添加到窗口
window.setLayout(layout)

# 设置窗口标题
window.setWindowTitle('PyQt5 Progress Bar')

# 显示窗口
window.show()

sys.exit(app.exec_())

以上代码创建一个包含一个垂直进度条的窗口,并将进度条添加到窗口中。

更新垂直进度条进度

进度条通常是在某个事件触发后才需要更新,例如点击按钮开始执行一个任务,任务执行过程中需要将进度条的值依次设置为0-100。

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

app = QApplication(sys.argv)

# 创建窗口
window = QWidget()

# 创建一个垂直布局
layout = QVBoxLayout()

# 创建进度条
progress = QProgressBar()

# 将进度条添加到布局
layout.addWidget(progress)

# 创建按钮
button = QPushButton('Start')
layout.addWidget(button)

counter = 0

def update_progress():
    global counter
    counter += 1
    progress.setValue(counter)
    if counter == 100:
        timer.stop()

# 设置定时器
timer = QTimer()
timer.timeout.connect(update_progress)

def start_progress():
    global counter
    counter = 0
    progress.setValue(counter)
    timer.start(100)  # 每隔100ms更新进度条

button.clicked.connect(start_progress)

# 将布局添加到窗口
window.setLayout(layout)

# 设置窗口标题
window.setWindowTitle('PyQt5 Progress Bar')

# 显示窗口
window.show()

sys.exit(app.exec_())

以上代码创建一个包含一个按钮和一个垂直进度条的窗口。点击按钮后,每隔100ms会更新一次进度条的进度,直到进度条的值达到100。

以上是Python的“PyQt5 | 垂直进度条”的完整使用攻略,希望对您有帮助。