[PyQt] Symbol naming system for PyQt under Python 3

Phil Thompson phil at riverbankcomputing.com
Fri Dec 12 22:44:07 GMT 2008


On Fri, 12 Dec 2008 22:18:41 +0000, "Paul A. Giannaros"
<paul at giannaros.org> wrote:
> On Fri, Dec 12, 2008 at 6:27 PM, Phil Thompson
> <phil at riverbankcomputing.com> wrote:
>>
>> On Fri, 12 Dec 2008 18:09:56 +0000, "Paul A. Giannaros"
>> <paul at giannaros.org> 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.
> 
> 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.

I look forward to the QtRuby bindings for Qtopia.

>> 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. I'm not proposing getting rid of every namespace
> everywhere.
> 
>> A class in PyQt should have the same name as the class in Qt if at all
>> possible.
> 
> Could you please elaborate as to why?

Least surprise. Consistency with existing documentation. Common sense.

Phil


More information about the PyQt mailing list