Pregunta

Estoy trabajando en un programa y quiero conectar un Qprogressbar con una función. Mientras la función está en progreso, el QProgressBar debe contar hasta que se realice la función. Entonces el Qprogressbar también debe hacerse.

¿Fue útil?

Solución

Esta muestra le dará una idea simple de ver el progreso. De ninguna manera esto es eficiente o elegante. Es solo una solución de funcionamiento que se manejé.

#!/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_() )
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top