[PyQt] Unexpected behaviour

Andreas Pakulat apaku at gmx.de
Tue Aug 17 07:03:59 BST 2010


On 17.08.10 13:07:00, Peter Milliken wrote:
> Sorry if the answer to this is obvious, but it is entirely unexpected
> behaviour IMO :-)
> 
> I have created a simple GUI with some elements, such as a progressbar and
> radiobuttons, which are 'dynamically' updated when an underlying Python task
> (created using threading.Thread) communicates information back to the GUI
> i.e. I have a button, which calls a command, which starts a task and then
> loops continuously receiving update commands from the task via a pipe and
> updating the GUI elements with the information (radio buttons indicate which
> phase of the process is being executed, the progress bar indicates %
> completion for each phase).
> 
> This all works fine, but the unexpected behaviour is when I switch focus
> away from the GUI application all of the graphics elements stop being
> updated! The underlying task is running and it runs to successful completion
> but no further graphics updates are performed once I switch focus away from
> the application. Even if I switch back to the application, the GUI elements
> remain "frozen" at the point at which I switched away until the task
> completes - it is only then that the graphics elements are changed due to
> the message from the task that the operation is complete i.e. the "phase"
> radio buttons are returned to a default value and the progress bar is
> cleared to 0%..

Non-Updating graphics sounds like you're blocking the event loop, you
need to leave that running all the time. If thats not the problem you'll
have to provide a small self-contained example showing the problem by
stripping down your real app. Otherwise I can't see how to help you.

Andreas

-- 
You will have long and healthy life.


More information about the PyQt mailing list