0
我正在學習使用Wxpython的教程,所以我還沒有完全理解到底發生了什麼,但是當我運行下面的代碼時,它應該會顯示爲一個文本對話框並詢問我的名字,但是對話框沒有出現,因此nameA變量沒有賦值,所以我得到下面的錯誤。我究竟做錯了什麼?wxpython textentrydialog不會出現
Python程序:
import wx
class main(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, "Test Window", size = (300, 200))
panel = wx.Panel(self)
text= wx.TextEntryDialog(None, "What is your name?", "Title", " ")
if text.ShowModal == wx.ID_OK:
nameA = text.GetValue()
wx.StaticText(panel, -1, nameA, (10, 10))
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = main(parent=None, id= -1)
frame.Show()
app.MainLoop()
錯誤我收到:
Traceback (most recent call last):
File "C:\Users\Taylor Lunt\Desktop\deleteme.py", line 17, in <module>
frame = main(parent=None, id= -1)
File "C:\Users\Taylor Lunt\Desktop\deleteme.py", line 12, in __init__
wx.StaticText(panel, -1, nameA, (10, 10))
UnboundLocalError: local variable 'nameA' referenced before assignment
謝謝你,我想你說的和程序現在運行沒有錯誤,但該對話框仍然不會出現,我從來沒有選擇任何信息或點擊任何按鈕。 – Taylor 2013-03-09 00:26:12
你永遠不會真正調用ShowModal。你只要看看METHOD ShowModal是否等於wx.ID_OK。而不是text.ShowModal == wx.ID_OK做text.ShowModal()== wx.ID_OK。 – 2013-03-09 04:15:34
@SirDigbyChickenCaesar謝謝我沒有看到它。我專注於OP的問題。答案現在已被糾正並擴展 – joaquin 2013-03-09 13:28:02