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的小空白隔开,如下图
如果没有margin,此时样式如下图
b.qtdesigner中修改进度条的样式
首先选中进度条,选择QWidget
找到styleSheet属性,然后输入下面的代码
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
推荐阅读