[PySide] wait for QFileDialog to close

Matthew Woehlke matthew.woehlke at kitware.com
Thu Dec 12 01:02:21 CET 2013


On 2013-12-11 18:37, Sean Fisk wrote:
> I just tried it on CentOS with PySide 1.2.1. The progress bar does indeed
> work. However, I do see some visual glitches: the layout doesn’t readjust
> if the window is resized; the button sometimes disappears halfway or fully;
> the button can’t be clicked.

This sounds like your environment is coincidentally performing some 
update operations synchronously that usually are deferred. This probably 
explains why you see different behavior depending on the platform. I've 
seen similar artifacts before, e.g. code in projects I work on (not 
written by me :P) that shows a 'please wait' dialog before going off and 
blocking the GUI thread for some time that "work" (i.e. show up) on some 
machines and not on others.

There are probably a number of factors affecting this; OS is an obvious 
one, but widget style could also come into play and I wouldn't be 
surprised if even system load can have an effect. IOW, I wouldn't get 
too hung up on why it sometimes works, and just write it up as being 
unreliable (i.e. something to avoid or work around).

p.s. You really should never, ever block the GUI thread for more than 
~250ms ;-). Threads (or QtConcurrent) are good for "slow" tasks, or else 
make sure you are allowing the event loop to run (i.e. processEvents) 
every now and then.

-- 
Matthew




More information about the PySide mailing list