@RussianSuburban

Какие принципиальные особенности запуска питон-скрипта из IDLE под windows?

Pyrhon 3.4, PyQt4, Windows 8.1
Имеется проект с двумя формами:

Первая:
class MyForm(QtGui.QMainWindow,Ui_Topiq):
    logShow = pyqtSignal()
    def __init__(self, parent=None):
        super(MyForm,self).__init__(parent)
        self.setupUi(self)
        #Делаем стартовое окошко установленным на первый слой виждетов
        self.stackedWidget.setCurrentIndex(0);
   ....


Вторая:
class LogWindow(QtGui.QWidget,Ui_Log):
    def __init__(self,parent=None):
        super(LogWindow,self).__init__(parent)
        self.setupUi(self)
    ...


Основная программа:
if __name__ == "__main__":
    ...
    app = QtGui.QApplication(sys.argv)
    mainWindow = MyForm()
    log_ = LogWindow()
    #добавляем обработчик клика по статус-бару
    mainWindow.logShow.connect(log_.show)
    mainWindow.show()
    sys.exit(app.exec_())


Всё выполняется как надо, если запускать напрямую из редактора IDLE.

Если после этого файл сохранить и попытаться запустить двойным щелчком или из консоли, форма появится на мгновение и тут же пропадет, а скрипт завершится, никаких ошибок не выдав.

Если файл запустить из какой-нибудь еще ide (я пробовал PyCharm и Eclipse), поведение будет ровно таким же, как при двойном щелчке или при запуске из консоли, что меня не устраивает.

Если закомментировать строчку c connect'ом, скрипт запустится нормально во всех случаях.
#добавляем обработчик клика по статус-бару
#mainWindow.logShow.connect(log_.show)


В чем принципиальная разница запуска скрипта из IDLE и и любым другим способом? В чем разгадка такого поведения? Я даже запрос к гуглу не знаю, как составить. Помогите, пожалуйста.
  • Вопрос задан
  • 473 просмотра
Решения вопроса 1
TomasHuk
@TomasHuk
Попробуйте переименовать файл с *.py в *.pyw и запустить двойным щелчком.
Вот похожий вопрос был.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы