Как и сказал
Sergey6661313 вам нужно использовать QTimer. Класс QTimer испускает сигнал timeout спустя заданное время.
Вот пример использования QTimer с QProgressBar. Таймер испускает сигнал timeout каждую секунду, по сигналу вызывается метод on_timer в котором происходит инкрементирование QProgressBar, после заполнения прогресса таймер останавливается.
from PyQt4 import QtGui
from PyQt4 import QtCore
class Widget(QtGui.QWidget):
def __init__(self, parent=None):
super(Widget, self).__init__()
layout = QtGui.QVBoxLayout(self)
self.pb = QtGui.QProgressBar()
self.pb.setMaximum(100)
self.pb.setMinimum(0)
self.pb.setValue(0)
layout.addWidget(self.pb)
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.on_timer)
self.timer.start(1000)
def on_timer(self):
current_value = self.pb.value() + 1
self.pb.setValue(current_value)
if current_value == 100:
self.timer.stop()
if __name__ == '__main__':
app = QtGui.QApplication([])
w = Widget()
w.show()
app.exec()