image.png

    1. import wx
    2. app = wx.App()
    3. win = wx.Frame(
    4. None,
    5. title="simple editor",
    6. size=(410, 335))
    7. bkg = wx.Panel(win)
    8. def openFile(evt):
    9. dlg = wx.FileDialog(
    10. win,
    11. "Open",
    12. "",
    13. "",
    14. "All files (*.*)|*.*",
    15. wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
    16. filepath = ''
    17. if dlg.ShowModal() == wx.ID_OK:
    18. filepath = dlg.GetPath()
    19. else:
    20. return
    21. filename.SetValue(filepath)
    22. fopen = open(filepath)
    23. fcontent = fopen.read()
    24. contents.SetValue(fcontent)
    25. fopen.close()
    26. def saveFile(evt):
    27. fcontent = contents.GetValue()
    28. fopen = open(filename.GetValue(), 'w')
    29. fopen.write(fcontent)
    30. fopen.close()
    31. openBtn = wx.Button(bkg, label='open')
    32. openBtn.Bind(wx.EVT_BUTTON, openFile)
    33. saveBtn = wx.Button(bkg, label='save')
    34. saveBtn.Bind(wx.EVT_BUTTON, saveFile)
    35. filename = wx.TextCtrl(bkg, style=wx.TE_READONLY)
    36. contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE)
    37. hbox = wx.BoxSizer()
    38. hbox.Add(openBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5)
    39. hbox.Add(filename, proportion=1, flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=5)
    40. hbox.Add(saveBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5)
    41. bbox = wx.BoxSizer(wx.VERTICAL)
    42. bbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL)
    43. bbox.Add(
    44. contents,
    45. proportion=1,
    46. flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT,
    47. border=5)
    48. bkg.SetSizer(bbox)
    49. win.Show()
    50. app.MainLoop()