PyQt processEvents not processing
pict100 at gmail.com
Sun Nov 8 03:16:50 CET 2009
On Nov 8, 12:04 am, David Boddie <da... at boddie.org.uk> wrote:
> 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.
As per your suggestion I added a timer to the init part and now the
update works as expected , even without calls to processEvents.
self.myTimer = QtCore.QTimer(self)
self.timerTime = 0
More information about the Python-list