Python 如何将QProgressBar与函数连接?

Python 如何将QProgressBar与函数连接?,python,qt,qt4,pyqt4,qprogressbar,Python,Qt,Qt4,Pyqt4,Qprogressbar,我正在编写一个程序,我想连接一个QProgressBar和一个函数。在函数执行过程中,QProgressBar应一直计数,直到函数完成。然后也应该执行QProgressBar 此示例将为您提供查看进度的简单方法。这绝对不是高效或优雅的。这只是我编造的一个有效的解决方案 #!/usr/bin/python import os, sys from time import sleep from PyQt4.QtCore import * from PyQt4.QtGui import * ap

我正在编写一个程序,我想连接一个QProgressBar和一个函数。在函数执行过程中,QProgressBar应一直计数,直到函数完成。然后也应该执行QProgressBar

此示例将为您提供查看进度的简单方法。这绝对不是高效或优雅的。这只是我编造的一个有效的解决方案

#!/usr/bin/python

import os, sys

from time import sleep

from PyQt4.QtCore import *
from PyQt4.QtGui import *

app = QApplication( sys.argv )

def copyFile() :
    cpBtn.setDisabled( True )
    for i in range( 0, 100 ) :
        # File Copy Code
        # sleep( 0.1 ) is instead of the file copy code
        sleep( 0.1 )
        pb.setValue( i + 1 )
        qApp.processEvents()

    cpBtn.setEnabled( True )
    pb.reset()

fcpDlg = QDialog()

cpBtn = QPushButton( fcpDlg )
cpBtn.setText( "&Copy" )
cpBtn.clicked.connect( copyFile )
cpBtn.setFixedWidth( 72 )

pb = QProgressBar()
pb.setMinimumWidth( 300 )
pb.setRange( 0, 100 )

lyt = QVBoxLayout( fcpDlg )
lyt.addWidget( pb )
lyt.addWidget( cpBtn )

fcpDlg.setLayout( lyt )

fcpDlg.show()

sys.exit( app.exec_() )

对于你过去提出的问题,你应该接受更多的答案。你只接受了9%的问题答案。这不会激励他人帮助您。请阅读QProgressBar文档,它非常清楚如何使用它。