2012-02-16 30 views
-4

我正在研究一個程序,我想用一個函數連接一個QProgressBar。當函數正在進行時,QProgressBar應計數直到函數完成。然後QProgressBar也應該完成。如何將QProgressBar與函數連接起來?

+4

您應該接受更多問題的答案。您只接受了9%的問題答案。這不會激勵他人來幫助你。 – Wes 2012-02-16 15:20:46

+2

閱讀QProgressBar文檔,關於如何使用它很清楚。 https://developer.qt.nokia.com/doc/qt-4.8/qprogressbar.html#details – cmannett85 2012-02-16 15:25:32

回答

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_()) 
相關問題