<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,&nbsp;<div><br><div><div>Le 4 juin 2012 à 23:24, Dave a écrit :</div><br class="Apple-interchange-newline"><blockquote type="cite"><p><font>I'm doing some very simple PySide (and PyQt) tutorials in iPython. 
One tutorial just creates a window with some sliders to demonstrate 
slots and signals.</font></p><p><font>When I close the window of the running demo application, I see this error:</font></p><pre><code>An exception has occurred, use %tb to see the full traceback.
SystemExit: 0
To exit: use 'exit', 'quit', or Ctrl-D.
</code></pre><p><font>So I run %tb and get this:</font></p>

<pre><code>SystemExit                                Traceback (most recent call last)
/Workspaces/scratch/&lt;ipython-input-1-88966dcfb499&gt; in &lt;module&gt;()
     33 
     34 if __name__ == "__main__":
---&gt; 35     main()

/Workspaces/scratch/&lt;ipython-input-1-88966dcfb499&gt; in main()
     29         w.show()
     30         app.exec_()
---&gt; 31         sys.exit(0)
     32 
     33 

SystemExit: 0
</code></pre></blockquote><div><br></div>Just don't use sys.exit(0) as you are not exiting python, but still running IPython.</div><div>Add it if you wish to run your app from a (real) command line and have a return status.</div><div><br></div><div><blockquote type="cite"><p><font>If I try to execute my code again, I get this:</font></p>

<pre><code>RuntimeError: A QApplication instance already exists.
</code></pre></blockquote><div>This is a PySide Bug that they "won't fix" as they don't consider it a bug.&nbsp;</div><div>(see&nbsp;<a href="https://github.com/ipython/ipython/issues/1124">https://github.com/ipython/ipython/issues/1124</a>)</div><div>QApplication can only have one instance and quitting an app is apparently not considered a resin sufficient enough do delete the object...</div><div><br></div>You can use this code from above issues :</div><div><br></div><div>...</div><div><span style="color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); display: inline !important; float: none; ">app=QtGui.QApplication.instance()        # checks if QApplication already exists
if not app:        # create QApplication if it doesnt exist
        app = QtGui.QApplication(sys.argv)</span></div><div><span style="color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19px; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); display: inline !important; float: none; ">….
</span><br></div><div>to reuse the application instance, it might have a few side effect, (not sure) but you shouldn't be confronted to it if you are starting with qt.&nbsp;</div><div><br></div><div>Happy coding,</div><div>--&nbsp;</div><div>Matthias</div><br></div></body></html>