PyQt4 strangeness

Phil Thompson phil at riverbankcomputing.co.uk
Tue Jan 23 07:04:26 EST 2007


On Tuesday 23 January 2007 10:31 am, Tina I wrote:
> I'm trying to 'convert' my self from Qt3 to Qt4 (it rocks!) and one
> thing seem strange:
> With Qt3 I usually did "from qt import *", but this does not seem to
> work with Qt4. I have to use "from PyQt4 import QtGui , QtCore" and also
> have to use "QtCore.something".
>
> Like when connecting a button:
>
> 	self.connect(self.ui.testButton, QtCore.SIGNAL("clicked()"),
> self.doSomething)
>
> Anyone know why this is? Or am I missing something very basic here? (I'm
> still very much a noob I guess)
>
> I'm using the Debian packages by the way.

The module structure of PyQt reflects the library structure of Qt. Qt4 has 
different libraries to Qt3 so PyQt4 has different modules to PyQt3.

The top level PyQt4 module ensures that PyQt3, PyQt4 (and eventually PyQt5) 
can all be installed side by side in the same site-packages directory.

The style of import statement you use is up to you. All of the PyQt4 examples 
adopt the style you describe, but you can achieve the equivalent of your 
current practice by doing the following instead...

    from PyQt4.Qt import *

Phil



More information about the Python-list mailing list