Объект wx.app должен быть создан первым - PullRequest
4 голосов
/ 06 июня 2011

Мой код довольно прост, но я продолжаю получать ошибку ниже. Я исследовал ошибку, и она в значительной степени говорит о том, что IDLE и мой собственный графический интерфейс портят друг друга, но я не знаю, как этого избежать. Я имею в виду, что если я просто нажму на файл .py для моего графического интерфейса без открытия IDLE, я получу ту же ошибку.

Есть идеи?

Python 2.7 Windows XP

import wx

class applicationName(wx.Frame):

    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, 'Title', size=(300,200))
        panel = wx.Panel(self)


    box = wx.TextEntryDialog(None, "How old are you?", "Title", "default text")
    if box.ShowModal() == wx.ID_OK:
        answer = box.GetValue()




if __name__ =='__main__':
    app = wx.PySimpleApp()
    frame = applicationName(parent=None, id=-1)
    frame.Show()
    app.MainLoop()

Ошибка:

PyNoAppError: Сначала должен быть создан объект wx.App!


Ответы [ 4 ]

6 голосов
/ 27 января 2018

Полагаю, вы столкнулись с этой проблемой, когда вы второй раз отлаживали программу.

Вы можете добавить строку в конец кода.вы.

4 голосов
/ 06 июня 2011

Ваша функция __init__ не имеет правильного отступа.Это должно быть

 def __init__(self, parent, id):
    wx.Frame.__init__(self, parent, id, 'Title', size=(300,200))
    panel = wx.Panel(self)


    box = wx.TextEntryDialog(None, "How old are you?", "Title", "default text")
    if box.ShowModal() == wx.ID_OK:
        answer = box.GetValue()
2 голосов
/ 31 октября 2016

Цитируется из: http://wxpython -пользователей.1045709.n5.nabble.com / PyNoAppError-The-wx-App-объект-должен-создан-первый-td2362821.html

Ключ заключается в том, чтобы использовать редактор / IDE, который запускает код Python, который вы редактируете во внешнем процессе, а не запускать его в том же процессе, что и сам редактор.

0 голосов
/ 20 февраля 2019

Попробуйте закрыть терминал / консоль и перезапустить его (если опция доступна).работал для меня, когда я получил этот массаж в Spyder (3.3.2), когда запустил код, аналогичный приведенному выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...