我正在开发一个程序,我想用一个函数连接一个QProgressBar。当函数正在进行时,QProgressBar应该计数直到函数完成。然后QProgressBar也应该完成。
答案 0 :(得分:1)
此示例将为您提供查看进度的简单概念。绝不是高效或优雅。它只是一个我操纵的工作解决方案。
#!/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_() )