QApplication が2度目に必ずエラーを吐く現象について
from PySide import QtGui
import sys
class Widget(QtGui.QWidget):
def __init__(self,parent=None):
super(Widget,self).__init__(parent=None)
def main():
try:
QtGui.QApplication([])
except Exception as e:
print(10,e)
widget = Widget()
widget.show()
sys.exit(QtGui.QApplication.exec_())
if __name__ == "__main__":
main()
これは何の変哲もない、Widget
を表示するだけのプログラムです。
お聞きしたいのは、QApplication
についてです。
QApplication
は、最初はエラーなく実行されるのですが、
2回目からは、必ずエラーを吐きます。ウィジェットをクローズしても、
カーネルは、QApplication()
が一度実行されたことを覚えていているようで、
カーネルを再起動しない限り、再度実行する事ができません。
追記:
そのため、try:except文でこのエラーを回避することにより、コードを実行しています。
もしこの文が無ければ、
A QApplication instance already exists.
と書かれたRunTimeError
が発生します。
他のQt
ユーザーたちは、そういう事が無いように思うのですが、
このエラーが発生しない方法はありますか?
おもちの実行環境では、そのようなことはありませんか?
開発環境は Anaconda3 Spyder3.2.4です。