wxpython写个记事本的保存按钮
时间: 2023-11-14 20:04:37 浏览: 66
自制简易程序,实现“保存文件”和“读取文件”的功能,使用python实现【简易记事本】源码
下面是一个基本的 wxPython 记事本应用程序,包括保存按钮的代码:
```python
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, title):
super(MyFrame, self).__init__(parent, title=title, size=(400, 300))
self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)
self.CreateStatusBar()
filemenu = wx.Menu()
menuSave = filemenu.Append(wx.ID_SAVE, "&Save", " Save the contents to a file")
menuExit = filemenu.Append(wx.ID_EXIT, "E&xit", " Terminate the program")
menuBar = wx.MenuBar()
menuBar.Append(filemenu, "&File")
self.SetMenuBar(menuBar)
self.Bind(wx.EVT_MENU, self.OnSave, menuSave)
self.Bind(wx.EVT_MENU, self.OnExit, menuExit)
self.Show(True)
def OnSave(self, e):
dlg = wx.FileDialog(self, "Choose a file", "", "", "*.txt", wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
if dlg.ShowModal() == wx.ID_OK:
with open(dlg.GetPath(), 'w') as f:
f.write(self.control.GetValue())
dlg.Destroy()
def OnExit(self, e):
self.Close(True)
app = wx.App(False)
frame = MyFrame(None, "Simple Editor")
app.MainLoop()
```
在上面的代码中,我们创建了一个文本框控件 `wx.TextCtrl` 用于用户输入文本。我们还创建了一个菜单栏 `wx.MenuBar` 和一个 "Save" 菜单项 `wx.ID_SAVE` 以便用户保存文本。保存按钮的事件处理方法 `OnSave` 中,我们使用 `wx.FileDialog` 对话框来让用户选择保存文件的位置和文件名,并将文本写入所选文件。
你可以将上面的代码复制到你的 IDE 中,保存为 `notepad.py`,然后运行它。现在你应该看到一个简单的记事本应用程序,带有一个 "Save" 菜单项。
阅读全文