我正在嘗試開發一個非常簡單的wxpython GUI。目前只有一個按鈕,在文本控制框下方打開文件對話框&。目前我所要做的只是將打開的文件名打印到文本控制框,但不斷收到錯誤消息。 「全球名稱未定義」。任何幫助,將不勝感激!python wxpython全局名稱未定義
#!/usr/bin/python
import os
import wx
import wx.lib.agw.multidirdialog as MDD
wildcard = "Python source (*.py)|*.py|" \
"All files (*.*)|*.*"
########################################################################
class MyFrame(wx.Frame):
#----------------------------------------------------------------------
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY)
panel = wx.Panel(self, wx.ID_ANY)
self.currentDirectory = os.getcwd()
text = wx.TextCtrl(panel, -1, "",style=wx.TE_MULTILINE|wx.HSCROLL)
# create the buttons and bindings
openFileDlgBtn = wx.Button(panel, label="Show OPEN FileDialog")
openFileDlgBtn.Bind(wx.EVT_BUTTON, self.onOpenFile)
# put the buttons in a sizer
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(openFileDlgBtn, 0, wx.ALL|wx.CENTER, 5)
sizer.Add(text, 1, wx.EXPAND|wx.ALL, 5)
panel.SetSizer(sizer)
#----------------------------------------------------------------------
def onOpenFile(self, event):
"""
Create and show the Open FileDialog
"""
dlg = wx.FileDialog(
self, message="Choose a file",
defaultDir=self.currentDirectory,
defaultFile="",
wildcard=wildcard,
style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR
)
if dlg.ShowModal() == wx.ID_OK:
paths = dlg.GetPaths()
print "You chose the following file(s):"
for path in paths:
print path
text.AppendText('path')
dlg.Destroy()
#----------------------------------------------------------------------
# Run the program
if __name__ == "__main__":
app = wx.App(False)
frame = MyFrame()
frame.Show()
app.MainLoop()
請包括*全*回溯,包括錯誤信息。您在這裏發佈的內容不足以診斷問題。 –
我是新來編程,所以不會有一個線索如何做一個完整的追溯:-)看起來是問題的代碼是text.AppendText('路徑')以前我只是打印變量「路徑」到控制檯確保它能夠工作,現在我希望將該變量打印到文本控件上,但我一直在控制檯窗口中顯示該錯誤。 –
當Python給你一個錯誤時,將打印一個帶有回溯的完整錯誤消息。沒有什麼特別的需要去做。它包含底部的「全局名稱...未定義」異常消息。 –