我想使用多个导入的函数和需要一些时间才能运行的参数。我想要一个“工作”进度条,跟踪该功能的进程。我已经回答了两个问题
区别在于线程可以接受任何可以有参数的函数。函数也不需要yield
返回进度条的百分比。进度条始终从0%开始
我从第一个链接复制了一个片段,并出于示例目的对其进行了修改
from external_script import long_running_function
class Actions(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Progress Bar')
self.progress = QProgressBar(self)
self.button = QPushButton('Start', self)
self.show()
self.button.clicked.connect(self.onButtonClick)
def onButtonClick(self):
long_running_function(**kwargs) # This can be any function that takes argument/s
self.progress.setValue(value)
答案不要太复杂,因为它们仅限于一个非常特殊的上下文。通常,逻辑是向其传递一个QObject,该QObject更新百分比值,然后用该值发出信号。例如,一个简单的解决方案是使用线程模块:
相关问题 更多 >
编程相关推荐