Ich entwickle ein PyQT-Programm mit der Spyder-IDE (die IPython verwendet) auf einem Windows 7-Rechner und Ich habe Probleme mit der Aussage sys.exit(app.exec_())
. Ich habe diesen Beitrag gelesenVerwenden von app.exec() anstelle von sys.exit (app.exec_()) mit PyQT4 in Spyder wird nicht funktionieren
What the error when I close the dialog
und versucht, mit nur app.exec_()
. Wenn ich aber nur app.exec_()
verwende, öffnet sich die GUI sehr kurz und schließt dann sofort. Hier ist mein Minimum (nicht) Arbeitsbeispiel:
import sys
from PyQt4 import QtGui
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
btn = QtGui.QPushButton('Button', self)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
app.exec_()
#sys.exit(app.exec_())
if __name__ == '__main__':
main()
Dies ist mein erster Beitrag auf Stackoverflow, so dass, wenn ich diesen Beitrag in irgendeiner Weise verbessern können, lassen Sie es mich wissen.
Bei der weiteren Untersuchung, wie es scheint, dass dies ein Problem speziell mit Spyder, und nicht IPython im Allgemeinen. Ich habe den obigen Code in einem Jupyter-Notebook ausgeführt, und die GUI wurde ohne Probleme erstellt. Daher würde jeder Einblick in das, warum das in Spyder nicht funktioniert, sehr geschätzt werden. Vielen Dank. – dyson