用pyqt5写一个没有按钮的进度条
时间: 2023-09-12 09:09:45 浏览: 83
好的,我明白了您的问题。下面提供一个示例代码:
``` python
import sys
from PyQt5 import QtCore, QtWidgets
class ProgressBar(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setMinimumSize(200, 200)
self.setGeometry(400, 400, 200, 200)
self.setWindowTitle('进度条')
self.timer = QtCore.QBasicTimer()
self.step = 0
def timerEvent(self, e):
if self.step >= 100:
self.timer.stop()
return
self.step = self.step + 1
self.update()
def paintEvent(self, e):
qp = QtGui.QPainter()
qp.begin(self)
self.drawProgress(qp)
qp.end()
def drawProgress(self, qp):
width = self.geometry().width()
height = self.geometry().height()
progress = self.step / 100
rect = QtCore.QRect(0, 0, progress * width, height)
qp.setBrush(QtGui.QColor(0, 0, 255))
qp.drawRect(rect)
qp.setBrush(QtGui.QColor(255, 255, 255))
qp.drawRect(progress * width, 0, (1 - progress) * width, height)
def start(self):
self.step = 0
self.timer.start(100, self)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
progress = ProgressBar()
progress.show()
progress.start()
sys.exit(app.exec_())
```
这个代码可以创建一个没有按钮的进度条。它使用PyQt5库创建一个窗口,没有任何按钮。进度条的进度通过绘制来实现。该进度条在程序启动后会自动开始,每0.1秒更新一次进度,直到达到100%。
希望能够解决您的问题。如果您还有其他问题,请继续提问,我会尽力回答。
阅读全文