from PyQt4.QtCore import *
from PyQt4.QtGui import *
layer = iface.activeLayer()
class A(QWidget):
mySignal = pyqtSignal([int])
def __init__(self):
super(A, self).__init__()
self.progressbar = QProgressBar()
layout = QGridLayout()
self.button = QPushButton('Start')
self.button.clicked.connect(self.iterator)
layout.addWidget(self.button, 0, 0)
layout.addWidget(self.progressbar, 0, 1)
self.setLayout(layout)
self.mySignal.connect(self.status)
self.cnt = layer.featureCount()
@pyqtSlot(int)
def status(self, element):
perc = element*100/float(self.cnt)
self.progressbar.setValue(perc)
# print "Progress {0:.{1}f} % element: {2}"
# .format(element*100/float(self.cnt), 2, element)
def iterator(self):
i = 0
for f in layer.getFeatures():
i += 1
a.mySignal.emit(i)
a = A()
a.show()