[PyKDE] Web article on wxWindows and PyQt
Hans-Peter Jansen
hpj at urpla.net
Sun Oct 5 12:23:00 BST 2003
Hi Sundance,
On Sunday 05 October 2003 04:43, Sundance wrote:
> I heard Hans-Peter Jansen said:
> > Conclusion: beware from using qApp.quit(), or even sys.exit(0)
> > without thinking twice. There are almost always better ways to
> > close a PyQt application. Use them.
>
> This interests me. I've been trying to write a clean exception
> handler around the event loop, so that if an exception occurs in my
> end-user oriented application (darn, I speak like I had a tie...),
> a nice popup will warn the user, and then the app will quit
> cleanly, after saving its conf if at all possible. The quitting
> part is done with qApp.quit(). What should I do instead then?
Just close()ing the main widget should do the job nicely, as long as
the exception doesn't occur in the ctor/dtor paths of the main widget.
<em>
This problem only occurs under certain (not to say obscure)
conditions.
</em>
You should test all exit paths of your app extensively. And remember,
that there are different ways to shut down an app (X closer, ...).
Needless to say, you cannot protect your app from crashes happened on
Qt level. Maybe those could be handled within an "envelope process".
Suggestion: modify my test app to your needs and repost. I will do
some tests, maybe others jump in. At the end, we possibly have some
skeleton to reuse, which deserves a warm place in PyQt/examples3 in
order to demonstrate some best practices to handle such requirements.
Comments?
Pete
More information about the PyQt
mailing list