[PySide] IPython Mac 10.7 QApplication instance already exists

Jason Augustyn js.augustyn at gmail.com
Wed May 23 23:19:06 CEST 2012

Thanks, Nathan, after poking around a bit more I found a similar solution:

app = QApplication.instance()
if app == None:
app = QApplication(sys.argv)

This works!

On Wed, May 23, 2012 at 5:03 PM, Nathan Smith <nathanjsmith at gmail.com>wrote:

> Hi Jason,
> PySide only supports creating a single persistent instance of
> QApplication. This singleton exists forever and cannot be deleted.  If you
> have a function that tries to create a QApplication, then I recommend
> placing that creation inside of a try/except block:
> try:
>   app = QtGui.QApplication(sys.argv)
> except RuntimeError:
>   app = QtCore.QCoreApplication.instance()
> This will either create a new QApplication instance if one does not exist,
> or return the current QApplication instance if one already does exist.
> Nathan
> On Wed, May 23, 2012 at 3:21 PM, Jason Augustyn <js.augustyn at gmail.com>wrote:
>> Hi all, I am new to using PySide and have been working through the novice
>> tutorials, which are great. One problem - I cannot re-run a script without
>> exiting the Python shell altogether. Re-running gives the RuntimeError: A
>> QApplication instance already exists.
>> I have searched for a solution and found an old bug tracker ticket from
>> someone with a similar problem. The suggested solution was to upgrade to
>> PySide 1.0.4 and the ticket was marked as invalid. Obviously that doesn;t
>> work, as I'm running the newest version of PySide and still have the
>> problem. Any suggestions? I am using IPython on a Mac OSX 10.7.
>> Thanks!
>> Jason
>> _______________________________________________
>> PySide mailing list
>> PySide at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/pyside
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20120523/c85200b6/attachment.html>

More information about the PySide mailing list