c++ - wxpython文件打开对话框

标签 c++ python user-interface wxpython wsgi

为什么这个 wxpython 代码给我以下错误?

self.Bind(wx.EVT_MENU,self.onNewFile,self.New_File)

def onNewFile(self,evt):

    wx.FileDialog(None,'Choose a file',os.getcwd(),"",wx.OPEN)
    if dialog.ShowModal() == wx.ID_OK:
        print dialog.GetPath()
    dialog.Destroy()

还有其他设置菜单栏和创建项目的代码,但是当执行此代码时,出现以下错误:

Traceback (most recent call last):
  File "C:\Python27\Front_End.py", line 52, in onNewFile
    wx.FileDialog(None,'Choose a file',os.getcwd(),"",wx.OPEN)
  File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_windows.py", line 2430, in __init__
    _windows_.FileDialog_swiginit(self,_windows_.new_FileDialog(*args, **kwargs))
TypeError: String or Unicode type required

这是什么意思?

最佳答案

wx.FileDialog原型(prototype)如下

__init__(self, parent, id, title, pos, size, style, name)

您可能会遗漏一个参数。我还对您的代码进行了一些编辑,如下所示。

def onNewFile(self,evt):

    dialog = wx.FileDialog(None,'Choose a file',os.getcwd(),"", "",wx.OPEN)
    if dialog.ShowModal() == wx.ID_OK:
        print dialog.GetPath()
    dialog.Destroy()

关于c++ - wxpython文件打开对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204847/

相关文章:

c++ - OpenMP - 在并行代码中运行并行代码

c++ - QGraphicsItem 上的事件过滤器

python - 如何使用 pyodbc 从 ms access 数据库中选择最后 5 分钟的数据?

面向企业的 Silverlight 表单设计

c++ - 使用指针c++在函数中反转cstring数组

c++ - 有人可以解释我如何访问这个数组吗? (图像处理程序)

python - 无法使用 pymongo 2.2 连接到 MongoDB 2.0.5 数据库

python - 为什么 Flask 在其 json 模块中检查 `'\\/' in json.dumps('/')`?

java - 从 IntelliJ IDEA 中删除黄色类名弹出窗口(面包屑)

java - 将图像移动到新位置后删除图像