236.md 1.8 KB
Newer Older
W
wizardforcel 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
# wxPython 文件对话框

> 原文: [https://pythonspot.com/wxpython-file-dialog/](https://pythonspot.com/wxpython-file-dialog/)

几乎每个可以打开一个或多个文件的桌面应用程序都有一个文件对话框。

创建一个打开的文件对话框似乎是一个非常复杂的窗口:它包含按钮,位置,标签和许多其他小部件。 而且,此打开文件对话框的外观在每个平台上都不同:Mac OS,Windows 等。

**相关课程:** [使用 wxPython 创建 GUI 应用程序](https://gum.co/qapqB)

在 wxPython 的模块配备了开放式的文件对话框,可以用几个函数的调用来创建。

![wxPythonOpenFile](img/1d17f5d6e0c394ba2f1d574baf74c7b0.jpg) [wxPython](https://pythonspot.com/wx/) Open File Dialog

## wxPython 文件对话框

The example below creates a file dialog with a native appearance using wxPython:

```
#!/usr/bin/python

import wx

def onButton(event):
    print "Button pressed."

app = wx.App()

frame = wx.Frame(None, -1, 'win.py')
frame.SetDimensions(0,0,200,50)

# Create open file dialog
openFileDialog = wx.FileDialog(frame, "Open", "", "", 
      "Python files (*.py)|*.py", 
       wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)

openFileDialog.ShowModal()
print(openFileDialog.GetPath())
openFileDialog.Destroy()

```

要使用 [wxPython](https://pythonspot.com/wx/) 创建文件对话框,我们可以简单地调用 wx.FileDialog()。 此方法的定义是:(父,消息,defaultDir,defaultFile,通配符,样式,pos) 我们用以下参数调用此方法:

```
wx.FileDialog(frame, "Open", "", "","Python files (*.py)|*.py",wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)

```

(未指定默认目录或默认文件)。

showModal()方法显示窗口:

```
openFileDialog.ShowModal()

```

如果选择一个,则命令 openFileDialog.GetPath()返回文件的完整路径。