On Monday 03 July 2006 1:56 pm, Arve Knudsen wrote: > Hi > > On Windows XP, with PyQt-4.0 and Qt-4.1.4 I am experiencing what must > surely be a bug. Before I have instantiated any QApplication, > QtGui.qApp already exists although QCoreApplication.instance() is None > (as I would expect!). After I create my own QApplication, > QCoreApplication.instance() returns a reference to this object, but > qApp still refers to the same dummy object (the initial qApp does not > appear functional).
It's a feature of the way Qt implements qApp and the fact that modules are second class citizens in Python. Because Python modules don't have __getattr__ like methods, global objects (like qApp) have to be created with the correct type when the module is imported - even though the C++ instance they are wrapping doesn't exist yet. There is a level of indirection happening that means that the C++ instance that qApp uses is always correct and the same as that returned by QCoreApplication.instance(). In other words, the object returned by instance() and the qApp object are different object but wrap the same C++ instance. What makes you say that the initial qApp does not appear functional? It's used all over the examples. Phil _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde