[PyKDE] qApp is a QApplication instance
phil at riverbankcomputing.co.uk
Mon Mar 21 16:38:07 GMT 2005
> Phil Thompson <phil at riverbankcomputing.co.uk> wrote:
>>>>>> sys.modules['qt'].__dict__['qApp'] = A(sys.argv)
>>>>>> ...might do it. You have to make sure that this is done before the
>>>>>> modules that want to use it get imported.
>>> Well, I'm trying, but it's almost impossible to do it. By the time the
>>> constructor has executed, many modules are imported already. Even
>>> the sys.modules line at the top of A's constructor is not enough
>>> the fact that many modules are already imported. I even tried reload
>>> modules but that caused other problems.
>>> I understand that you consider this not stricly a bug. But there *is* a
>>> to access the application from everywhere without passing it around,
>>> qApp exists exactly for that. In C++, you can downcast it to whatever
>>> type you defined and use it. This is impossible with PyQt.
>> No it isn't - sip.cast()
> What would the correct syntax would be, then?
> def pyApp():
> import sip
> return sip.cast(qApp, App)
> gives me a:
> SystemError: error return without exception set
That's the correct syntax. I assume that you have called the App ctor by
the time you call pyApp(). If so, can you put together a small, complete
More information about the PyQt