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 | 垂直进度条”的完整使用攻略,希望对您有帮助。