помогите как мне решить одну проблему, не могу привязать очередную функцию к QProgressDialog! Как привязать выполнение функции f() из примера показанного ниже к QProgressDialog? ----------------------------------------------------------------
| Код | import sys, time, shutil, base64, zlib from PyQt4 import QtGui, QtCore class Window(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) self.button = QtGui.QPushButton('Запустить процесс', self) self.button.clicked.connect(self.handleButton) layout = QtGui.QVBoxLayout(self) layout.addWidget(self.button) #----------------------------------------------------------------------------------------------- def f(self): CodeOF = open("mypdf.pdf","rb") CodeRF = CodeOF.read() CodeOF.close() #--------------------------- EncodeBase64 = base64.b64encode(CodeRF) #--------- CompressDATE = zlib.compress(EncodeBase64) #--------- CodeOF = open("mypdf.pdf","wb") CodeOF.write(CompressDATE) CodeOF.close() shutil.os.renames("mypdf.pdf","mypdf.pdf"+r".OzKEY") #----------------------------------------------------------------------------------------------- def handleButton(self): file = range(100) numberOfLinesInFile = len(file) progressWasCancelled = False progress = QtGui.QProgressDialog("Статус выполнения", None, 0, numberOfLinesInFile, self) progress.setWindowModality(QtCore.Qt.WindowModal) progress.setMinimumDuration(0) for lineNumber, line in enumerate(file): progress.setValue(lineNumber) if progress.wasCanceled(): progressWasCancelled = True break time.sleep(0.10) progress.setValue(numberOfLinesInFile) print ('cancelled', progress.wasCanceled(), progressWasCancelled) progress.deleteLater()
if __name__ == '__main__': app = QtGui.QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
|
|