-4

私はプログラムに取り組んでおり、QProgressBar を関数に接続したいと考えています。関数が進行中の間、QProgressBar は関数が完了するまでカウントする必要があります。次に、QProgressBar も実行する必要があります。

4

1 に答える 1

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_() )
于 2012-02-26T08:02:49.807 に答える