有个函数里面有两个双层for循环,用pyqt6创建一个按钮,点击之后运行函数并根据运行进度写一个进度条
时间: 2024-05-06 07:19:33 浏览: 119
以下是一个示例代码,其中函数名为`myFunction`:
```python
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QProgressBar
import time
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Progress Bar Example')
self.setGeometry(100, 100, 300, 150)
self.progress = QProgressBar(self)
self.progress.setGeometry(50, 50, 200, 20)
button = QPushButton('Start', self)
button.setGeometry(100, 80, 100, 30)
button.clicked.connect(self.runFunction)
def runFunction(self):
self.progress.setValue(0)
for i in range(1, 101):
self.progress.setValue(i)
QApplication.processEvents()
time.sleep(0.05)
myFunction()
self.progress.setValue(0)
def myFunction():
for i in range(1, 11):
for j in range(1, 11):
time.sleep(0.1)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec()
```
这个示例创建了一个主窗口,包括一个进度条和一个按钮。当点击按钮时,进度条将会从0开始到100逐渐增加,表示函数的运行进度。当进度条到100时,函数`myFunction`将开始运行,同时进度条会重置为0。在`myFunction`中,有两个嵌套循环,每次循环都会暂停0.1秒,以模拟耗时的操作。在每次循环时,可以使用`QApplication.processEvents()`让Qt处理其他事件,如更新进度条。
阅读全文