您的位置:首页 > 编程语言 > Python开发

wxpython图形界面学习之简易记事本

2017-12-31 14:03 274 查看
import wx
import os

class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,"记事本",size=(350,350))
panel = wx.Panel(self)
self.textPath = wx.TextCtrl(panel,-1,
size=(200,20),pos=(10,10))
self.textInfo = wx.TextCtrl(panel,-1,
size=(300,230),pos=(10,40),
style = wx.TE_MULTILINE | wx.HSCROLL)
self.btnOpen = wx.Button(panel,-1,"Open",size=(40,30),pos=(220,10))
self.btnSave = wx.Button(panel,-1,"Save",size=(40,30),pos=(270,10))

"""menuBar = wx.MenuBar()#创建菜单栏
#创建两个菜单
menu = wx.Menu()
self.open = menu.Append(wx.NewId(),"&Open")
menu.AppendSeparator()
self.save = menu.Append(wx.NewId(),"&Save")
menu.AppendSeparator()
menuBar.Append(menu,"&菜单")
self.SetMenuBar(menuBar)"""
self.Bind(wx.EVT_BUTTON,self.OnButtonOpen,self.btnOpen)
self.Bind(wx.EVT_BUTTON,self.OnButtonSave,self.btnSave)

hbox = wx.BoxSizer()
hbox.Add(self.textPath, proportion = 1, flag = wx.EXPAND) #窗口变化时获取额外空间的比例
hbox.Add(self.btnOpen, proportion = 0, flag = wx.LEFT, border = 5)
hbox.Add(self.btnSave, proportion = 0, flag = wx.LEFT, border = 5)

vbox = wx.BoxSizer(wx.VERTICAL)
vbox.Add(hbox, proportion = 0, flag = wx.EXPAND | wx.ALL,border = 5)
vbox.Add(self.textInfo,proportion = 1,
flag = wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border = 5)
panel.SetSizer(vbox)

def OnButtonOpen(self,event):
file = open(self.textPath.GetValue())
self.textInfo.SetValue(file.read())
file.close()
def OnButtonSave(self,event):
file = open(self.textPath.GetValue(),"w")
file.write(self.textInfo.GetValue())
file.close()

if __name__ == "__main__":
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: