Как повторно инициализировать консоль при нажатии кнопки закрытия?

#python #pyqt #spyder

#python #pyqt #spyder

Вопрос:

Я создаю простой графический интерфейс для выбора файлов с помощью PYQT, и я работаю с Spyder IDE. Когда я пытаюсь закрыть графический интерфейс с помощью красной кнопки «X» и снова запустить файл, появляется предупреждающее сообщение, в котором говорится:

 No Python shell is currently selected to run **readFile.py**
Please select or open a new Python interpreter and try again
 

Как я могу заставить красную кнопку X повторно инициализировать интерпретатор и консоль без необходимости делать это каждый раз вручную? Вот мой код:

 from PyQt4 import QtGui

class Example(QtGui.QWidget):
    def __init__(self):
        super(Example, self).__init__()
        self.initUI()

    def initUI(self):

        vbox = QtGui.QVBoxLayout()
        lbl = QtGui.QLabel('Please Choose Excel File',self)

        openButton = QtGui.QPushButton('Choose File')
        openButton.clicked.connect(self.showDialog)

        vbox.addWidget(lbl)        
        vbox.addWidget(openButton)
        self.setLayout(vbox)
        self.setGeometry(300,300,350,300)
        self.setWindowTitle('file Dialog')
        self.show()

    def showDialog(self):

        fname = QtGui.QFileDialog.getOpenFileName(self, 'Open file', '/home')
        print(fname)


def main():
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()
 

Комментарии:

1. ( Spyder dev здесь ) Какая у вас версия Spyder? Я не вижу в этом вашей ошибки 2.3rc . Кроме того, умирает ли консоль после того, как вы закрываете окно?

2. Это версия 2.3.0beta2, она поставляется как часть WinPython. Что происходит, так это то, что после того, как я закрою окно (нажму красный крестик), мне нужно закрыть консоль python и открыть другую, иначе она больше не запустится.

3. Я протестирую его в Windows, чтобы посмотреть, смогу ли я его воспроизвести. Но вы также можете установить более свежую версию, загрузив ее с нашего веб-сайта , и посмотреть, решит ли это проблему.