[PySide] IPython Mac 10.7 QApplication instance already exists

Jason Augustyn js.augustyn at gmail.com
Thu May 24 00:56:44 CEST 2012


Thanks for the catch, Blair



On Wed, May 23, 2012 at 5:26 PM, Blair Zajac <blair at orcaware.com> wrote:

> <nitpick>
>
> According to PEP-8, don't compare using == to singletons:
>
> http://www.python.org/dev/**peps/pep-0008/#programming-**recommendations<http://www.python.org/dev/peps/pep-0008/#programming-recommendations>
>
> """Comparisons to singletons like None should always be done with is or is
> not, never the equality operators."""
>
> app = QApplication.instance()
> if app is None:
>    app = QApplication(sys.argv)
> </nitpick>
>
> Blair
>
>
> On 05/23/2012 02:19 PM, Jason Augustyn wrote:
>
>> 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
>> <mailto: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 <mailto: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 <mailto:PySide at qt-project.org>
>>        http://lists.qt-project.org/**mailman/listinfo/pyside<http://lists.qt-project.org/mailman/listinfo/pyside>
>>
>>
>>
>>
>>
>>
>> ______________________________**_________________
>> PySide mailing list
>> PySide at qt-project.org
>> http://lists.qt-project.org/**mailman/listinfo/pyside<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/6c6f4a3e/attachment.html>


More information about the PySide mailing list