Ошибка атрибута при обработке кода Python (wxpython)
Привет, я получаю ошибку при обработке этого кода Python. Обратите внимание, что я новичок в Python. Спасибо
Вот код
import wx
class harry(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Frame aka Window', size=(300,200))
panel=wx.Panel(self)
box = wx.TestEntryDialog(None ,"Whats ur Name ?" ,"Title","default text")
if box.showModal()==wx.Id_OK:
answer=box.getValue()
if __name__=='__main__':
app = wx.App(False)
frame = harry(parent=None,id=-1)
frame.Show()
app.MainLoop()
Я получаю ошибку
Traceback (most recent call last):
File "C:\pybuck\pytuts9.py", line 14, in <module>
frame = harry(parent=None,id=-1)
File "C:\pybuck\pytuts9.py", line 8, in __init__
box = wx.TestEntryDialog(None ,"Whats ur Name ?" ,"Title","default text")
AttributeError: 'module' object has no attribute 'TestEntryDialog'
Мой мотив состоит в том, чтобы ввести пользователя для записи его ввода (например, имени) в окне, которое также всплывает! Спасибо Гарри
2 ответа
Может быть, вы ищете wx.TextEntryDialog
(насколько я знаю нет wx.TestEntryDialog
?
Редактировать: Имя вещей в Python чувствительно к регистру! AttributeError
хороший способ Python сказать вам: "Эй, чувак, то, что вы ищете, не существует!". У вас есть следующие возможности для поиска вещей, которые, по вашему мнению, существуют, но отсутствуют.
- Прочитайте инструкцию для wx.Dialog
- Используйте графический интерфейс, который поддерживает Python и автозавершение кода (например, Eclipse + PyDev)
- вызвать dir(wx.TextEntryDialog)
Все три скажут вам использовать ShowModal
вместо showModal
,
@ Joaquin вот что я отредактировал в своем коде после вашей идеи
import wx
class harry(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Frame aka Window', size=(300,200))
panel=wx.Panel(self)
box = wx.TextEntryDialog(None ,"Whats ur Name ?" ,"Title","default text")
if box.showModal()==wx.Id_OK:
answer=box.getValue()
if __name__=='__main__':
app = wx.App(False)
frame = harry(parent=None,id=-1)
frame.Show()
app.MainLoop()
Но вот ошибка, которую я получаю сейчас
Traceback (most recent call last):
File "C:\pybuck\pytuts9.py", line 14, in <module>
frame = harry(parent=None,id=-1)
File "C:\pybuck\pytuts9.py", line 9, in __init__
if box.showModal()==wx.Id_OK:
AttributeError: 'TextEntryDialog' object has no attribute 'showModal'
Здесь вы увидите, что эта ошибка немного отличается от приведенной выше, но эй, это ошибка!!!
и да, вы правы, что ошибка немного отличается