1.设计窗口代码
import wx
import wx.xrc
###########################################################################
## 窗口代码:MyFrame1.py
###########################################################################
class MyFrame1 ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"编辑器", pos = wx.DefaultPosition, size = wx.Size( 410,335 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
bSizer1 = wx.BoxSizer( wx.VERTICAL )
bSizer2 = wx.BoxSizer( wx.HORIZONTAL )
self.filename = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.Point( 5,5 ), wx.Size( 210,25 ), 0 )
bSizer2.Add( self.filename, 0, wx.ALL, 5 )
self.loadbutton = wx.Button( self, wx.ID_ANY, "load", wx.Point( 225,5 ), wx.Size( 80,25 ), 0 )
bSizer2.Add( self.loadbutton, 0, wx.ALL, 5 )
self.savebutton = wx.Button( self, wx.ID_ANY, "save", wx.Point( 315,5 ), wx.Size( 80,25 ), 0 )
bSizer2.Add( self.savebutton, 0, wx.ALL, 5 )
bSizer1.Add( bSizer2, 1, wx.EXPAND, 5 )
self.contents = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.Point( 5,35 ), wx.Size( 390,260 ), wx.TE_MULTILINE|wx.HSCROLL )
bSizer1.Add( self.contents, 0, wx.ALL, 5 )
self.SetSizer( bSizer1 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.loadbutton.Bind( wx.EVT_BUTTON, self.load )
self.savebutton.Bind( wx.EVT_BUTTON, self.save )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def load( self, event ):
pass
def save( self, event ):
pass
2.编写程序代码
# -*- coding: utf-8 -*-
"""
Created on Wed Dec 26 18:07:12 2018
QQ群:476842922(欢迎加群讨论学习
@author: Administrator
"""
# -*- coding: UTF-8 -*-
import wx
import MyFrame1
class MyFrame(MyFrame1.MyFrame1):
# 首先,咱们从刚刚源文件中将主窗体继承下来.就是修改过name属性的主窗体咯。
def load( self, event):
file=open(self.filename.GetValue())
self.contents.SetValue(file.read())
file.close
def save( self, event ):
file=open(self.filename.GetValue(),'w')
file.write(self.contents.GetValue())
file.close()
if __name__ == '__main__':
app = wx.App()
main_win = MyFrame(None)
main_win.Show()
app.MainLoop()