Question

Je travaille sur un programme et je veux connecter un QProgressBar avec une fonction. Bien que la fonction est en cours, le QProgressBar devrait compter jusqu'à ce que la fonction se fait. Ensuite, la QProgressBar doit être fait aussi.

Était-ce utile?

La solution

Cet exemple vous donnera une idée simple de voir les progrès. En aucune façon que ce soit efficace ou élégant. Son juste une solution de travail i bricolé.

#!/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_() )
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top