2012-02-16 9 views
-4

私はプログラムに取り組んでおり、QProgressBarを関数に接続したいと思っています。関数の実行中は、関数が完了するまでQProgressBarがカウントされます。その後、QProgressBarも実行する必要があります。QProgressBarと関数をどのように接続しますか?

+4

これまでにお聞きしたことのある質問については、さらに回答を受け入れる必要があります。質問した質問のうち9%の回答しか受け入れていません。これは他の人があなたを助けるよう促しません。 – Wes

+2

QProgressBarのドキュメントを読むと、その使用方法がはっきりしています。 https://developer.qt.nokia.com/doc/qt-4.8/qprogressbar.html#details – cmannett85

答えて

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_()) 
関連する問題