On 12/12/2008 11:18 PM, Paul A. Giannaros wrote:
On Fri, Dec 12, 2008 at 6:27 PM, Phil Thompson
<[email protected]> wrote:
On Fri, 12 Dec 2008 18:09:56 +0000, "Paul A. Giannaros"
<[email protected]> wrote:
Hi all,

When there was a discussion regarding PyQt wishes for Python 3.0 I
proposed changing the mechanism by which you refer to symbols[1] .
Thus something like "QtGui.QApplication" could be refered to as
"Qt.Application".
As Qt does not use namespaces itself, there would be no conflicts of
names. The idea is that you'd then import any module and its symbols
would then be added to the Qt namespace when you've done so. This
system would therefore save on redundant typing while sidestepping
namespace pollution.

Any thoughts on this?
Nothing printable ;)

You can already do Qt.QApplication is you really want to, so you are saving
yourself one character.

"from PyQt4 import Qt" imports every module if I'm not mistaken.
Wanting a sane way of referencing Qt's symbols is not the same as
wanting every symbol from every module to be imported.

How is it possible to implement your proposal without importing every module at the same time, and without playing magic tricks?

Surely losing that one character is great if it's unnecessary. The
QtRuby guys seem to use exactly the same naming system that I propose
and it works fine for them and looks much better.

In the number-of-character race, I win with star-imports:

from PyQt4.QtCore import *
from PyQt4.QtGui import *

w = QWidget()

Since 99.999% of the names in there starts with "Q", I never ever have a conflict. The code is easy on the eye, and resembles its C++ equivalent.

Qt does use namespaces. KDE uses lots of namespaces.

The main Qt library does not for its separate modules, which is what
I'm talking about.

... which is exactly why the star-import works perfectly.

[PS: in case it's not clear, I'm -1 on the "Qt.Application" proposal; IMO, the official "QtCore.QCoreApplication" and the short-n-fast star-imported "QCoreApplication" already cover enough tastes]
--
Giovanni Bajo
Develer S.r.l.
http://www.develer.com
_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to