MPL with PyQt: different behavior on Windows vs. Linux

Thanks for the tip Darren. Adding this line seems to have done the trick! Very much appreciated.


— On Fri, 6/12/09, Darren Dale <dsdale24@…287…> wrote:

From: Darren Dale <dsdale24@…287…>
Subject: Re: [Matplotlib-users] MPL with PyQt: different behavior on Windows vs. Linux
To: “Steve Nicholes” <emailaddress_scn@…9…>
Date: Friday, June 12, 2009, 6:24 AM

On Tue, Jun 9, 2009 at 6:17 PM, Steve Nicholes <emailaddress_scn@…2652…> wrote:


I am writing some code for automated testing via GPIB using MPL and PyQt. To simulate automated data collection while debugging the program, I have added a for loop (see below) after reading in a data file that plots each point one by one. When I run the program in Linux, I see each point appear on the canvas one by one as designed, but when I run the same code in Windows, nothing shows up on the canvas during the for loop. Instead, once the loop has completed, all points appear simulataneously. Is there any reason the why calls to canvas.draw() show nothing when run in Windows?

I have seen similar discrepancies between PyQt4 behavior on linux and windows in a few situations. In my experience, a call to PyQt4.QtGui.qApp.processEvents() is sufficient to force an update in your view.