Thomas Perl wrote:
> As for the original topic (shortening the QApplication propogue) - it
> does not really get that much more compact (in terms of lines saved
> vs. complexity added), and it would make it more difficult (i.e. not
> straightforward) to "translate" a PySide app to the C++ API of Qt. You
> could still write a "convenience" module yourself and share it with
> the list / put it in the PySide Wiki and use it in all your projects -
> in my opinion, it does not belong in the standard PySide distribution
> (but maybe there's a place for a "PySide contrib" section?).

Like I said to linjunhalida, it is more about unifying QCoreApplication.exit() 
and sys.exit() in order to avoid bugs and simplify the programming model than 
it is about shortening the code.

Actually, you have to think in terms of incentives to really understand what 
I'm proposing. As I explained in reply to linjunhalida, the C++ startup idiom 
is a great way to provide incentives to pass the real (argc,argv) to Qt, and to 
return the exec() value to the OS. Unfortunately when you translate this idiom 
to Python verbatim, the incentives shift: because sys is not available by 
default and because it's easy to build an empty list from scratch, it is very 
tempting to pass [] instead of sys.argv; and because the typical Python program 
doesn't end with sys.exit, it is very tempting to ignore the value of exec_(). 
To fix that, providing a headache-free way of doing the right thing will always 
be the best incentive.

As for trying to deviate as little as possible from the C++ API, that could be 
a valid goal for the project, but I think PySide developers are not aiming for 
that: they try to improve the Python API wherever it can be improved, as can be 
seen with the new signals and slots and the Python-style attributes PSEP. Both 
make porting to C++ harder, and the lack of distinction between pointers and 
references was already making porting non-trivial. Of course simplifying 
QApplication would not be as big of an improvement as these changes, but then 
again it would not make porting to C++ much harder (if you have trouble looking 
up the C++ Qt startup idiom, you will have a very hard time porting a whole 
application to C++).


Cheers,
Farsmo
                                          
_______________________________________________
PySide mailing list
PySide@lists.openbossa.org
http://lists.openbossa.org/listinfo/pyside

Reply via email to