欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pyqt5中进度条滚动、样式设置

程序员文章站 2024-02-02 12:00:46
...

pyqt5中进度条滚动

# show the fdem_forward porgram is running by progressbar
# 进度条方式1 进度条滚动模式
self.progressBar.setMinimum(0)
self.progressBar.setMaximum(0)
timer = QTimer(self.progressBar)
def time_change():
    if self.thread_cal_fdem.isFinished():
        self.progressBar.setMaximum(100)
        self.progressBar.setValue(100)
        timer.stop()

timer.timeout.connect(time_change)
timer.start(1000)

# 进度条方式2 进度条百分比增长模式
# timer = QTimer(self.progressBar)
# self.progressBar.setValue(0)
# self.progressBar.setMaximum(800)
#
# def progress_change():
#     if self.thread_cal_fdem.isFinished():
#         self.progressBar.setValue(800)
#         # self.progressBar.setVisible(False)
#         timer.stop()
#
#     self.progressBar.setValue(self.progressBar.value() + 10)
#
# timer.timeout.connect(progress_change) 
# timer.start(1000) # 每隔1000ms就调用timeout连接的progress_change函数

pyqt5进度条样式设置

2.进度条的样式设置(颜色以及样式)
a.在代码中直接修改

self.progressBar.setStyleSheet("QProgressBar {   border: 2px solid grey;   border-radius: 5px;   background-color: #FFFFFF;}QProgressBar::chunk {   background-color: #007FFF;   width: 10px;}QProgressBar {   border: 2px solid grey;   border-radius: 5px;   text-align: center;}")

其中QProgressBar::chunk设置的是进度条中滚动的那个长条,通过QProgressBar::chunk { background-color: #007FFF; width: 10px;margin:0.5px }可以使进度条的长条以0.5px的小空白隔开,如下图
pyqt5中进度条滚动、样式设置
如果没有margin,此时样式如下图pyqt5中进度条滚动、样式设置
b.qtdesigner中修改进度条的样式
首先选中进度条,选择QWidget
pyqt5中进度条滚动、样式设置

找到styleSheet属性,然后输入下面的代码
pyqt5中进度条滚动、样式设置

QProgressBar { border: 2px solid grey; border-radius: 5px; background-color: #FFFFFF;}QProgressBar::chunk { background-color: #007FFF; width: 10px;}QProgressBar { border: 2px solid grey; border-radius: 5px; text-align: center;}

参考链接:

进度条样式设置官网链接
https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar
pyqt官网
https://doc.qt.io/qt-5/index.html