基于wxpython将获取到的path存储到类变量
时间: 2024-06-09 11:08:05 浏览: 54
您可以在类中定义一个类变量(静态变量),用于存储路径。例如:
```python
import wx
class MyFrame(wx.Frame):
path = "" # 定义类变量 path
def __init__(self, parent, title):
super(MyFrame, self).__init__(parent, title=title, size=(300, 200))
self.InitUI()
self.Center()
self.Show()
def InitUI(self):
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
st1 = wx.StaticText(panel, label="文件路径:")
hbox1.Add(st1, flag=wx.RIGHT, border=8)
self.tc = wx.TextCtrl(panel)
hbox1.Add(self.tc, proportion=1)
vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10)
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
btn1 = wx.Button(panel, label="打开")
hbox2.Add(btn1, flag=wx.RIGHT, border=8)
btn2 = wx.Button(panel, label="保存")
hbox2.Add(btn2, flag=wx.RIGHT, border=8)
vbox.Add(hbox2, flag=wx.ALIGN_RIGHT|wx.RIGHT|wx.BOTTOM, border=10)
panel.SetSizer(vbox)
btn1.Bind(wx.EVT_BUTTON, self.OnOpen)
btn2.Bind(wx.EVT_BUTTON, self.OnSave)
def OnOpen(self, event):
dlg = wx.FileDialog(self, "Choose a file", ".", "", "*.*", wx.FD_OPEN)
if dlg.ShowModal() == wx.ID_OK:
self.path = dlg.GetPath() # 将路径存储到类变量 path 中
self.tc.SetValue(self.path)
dlg.Destroy()
def OnSave(self, event):
if self.path:
# do something with the path
print("Save file to:", self.path)
else:
wx.MessageBox("请先选择文件!", "提示", wx.OK|wx.ICON_EXCLAMATION)
if __name__ == '__main__':
app = wx.App()
MyFrame(None, title="文件操作示例")
app.MainLoop()
```
在上面的代码中,我们在 `MyFrame` 类中定义了一个类变量 `path`,用于存储文件路径。在打开文件对话框后,我们将获取到的路径存储到 `path` 变量中,在保存文件时可以直接使用。
阅读全文