2011-06-14 16 views
8

¿QT proporciona alguna función para controlar la velocidad de una barra de progreso? Por ejemplo, si quiero que aumente en un 1% cada 1 segundo, ¿hay alguna forma de QT para hacerlo en lugar de usar un ciclo y dormir durante 1 segundo entre cada cambio de valor?QT barra de progreso velocidad

Respuesta

8

Puede usar QTimeLine para esto. La descripción detallada en la documentación brinda un ejemplo de exactamente lo que desea.

+0

Gracias! Eso hizo el truco! – Lockhead

3

Use un QTimer.

Conecte la señal timeout() a una ranura que aumente el valor en la QProgressBar.

QTimer *timer = new QTimer(this); 
connect(timer, SIGNAL(timeout()), this, SLOT(update())); 
timer->start(1000); 

En este cas, update() se llamará cada segundo.

+0

estoy usando QTimer algo diferente, y es muy útil. Gracias. – Lockhead

0

Si está utilizando Qt 4.6 también se puede utilizar QPropertyAnimation