PyQt processEvents not processing

David Boddie david at boddie.org.uk
Sat Nov 7 11:04:13 EST 2009


On Saturday 07 November 2009 05:12, DarkBlue wrote:

> qt 4.5.3
> pyqt 4.6.1
> python 2.6
> 
> I have this QtTable widget which I want to refresh once about every 2
> seconds with new data.
> 
> so I do :
> 
>  def updateSchedule(self):
>          for j in range(0,10):
>                       doUpdate()
>                       QtCore.processEvents()
>                       sleep(2)
> 
>  unfortunately QT appears to wait until the for loop finishes
>  and only then paints the QtTable widget on the screen showing
>  only the latest updated result.

It's difficult to know exactly why this is without more context. Calling
the application's processEvents() method should give the user interface the
chance to update itself, but perhaps you need to explicitly call update()
on the QTableView or QTableWidget instance to ensure that it is refreshed.

An alternative way to do this is to use a timer to update the table every
two seconds.

David



More information about the Python-list mailing list