This article example describes the text editor function implemented in Python. Shared for your reference, as follows:
The wxpython implementation of the text editor works as follows:
Key Features:
1. Edit the saved text, open the modified text
2. Commonly used shortcuts, copy, paste, select all, etc.
3. Support undo function
4. Support pop-up menu
The code is as follows:
#encoding=utf-8 import wx import os class MyFrame(): def __init__(self): ='' =[] =0 =700 =500 .__init__(self,None,-1,u'Notepad',size=(,)) =(self,-1) menubar=() menu1=() (menu1,u'Documentation') (1001,u'Open') (1002,u'Save') (1003,u'Save As') (1004,u'Exit') menu2=() (menu2,u'Edit') (2001,u'Undo') (2002,u'Empty') (2003,u'Cut Ctrl + X') (2004,u'Copy Ctrl + C') (2005,u'Paste Ctrl + V ') (2006,u'Select All Ctrl + A',) menu=() ctrla=(-1, "\tCtrl-A") ctrlc=(-1, "\tCtrl-C") ctrlx=(-1, "\tCtrl-X") ctrlv=(-1, "\tCtrl-V") ctrls=(-1, "\tCtrl-S") (menu,'') (menubar) (wx.EVT_MENU, , ctrla) (wx.EVT_MENU, ,ctrlc) (wx.EVT_MENU, ,ctrlc) (wx.EVT_MENU, ,ctrlv) (wx.EVT_MENU, , ctrls) (wx.EVT_MENU, , id=1001) (wx.EVT_MENU, , id=1002) (wx.EVT_MENU, , id=1003) (wx.EVT_MENU, , id=1004) (wx.EVT_MENU, , id=2001) (wx.EVT_MENU, , id=2002) (wx.EVT_MENU, , id=2003) (wx.EVT_MENU, , id=2004) (wx.EVT_MENU, , id=2005) (wx.EVT_MENU, , id=2006) (wx.EVT_SIZE, ) new=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() open=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() exit=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() save=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() saveall=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() back=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() go=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() clear=('./icons/',wx.BITMAP_TYPE_PNG).ConvertToBitmap() toolbar=(wx.TB_HORIZONTAL|wx.TB_TEXT) (100,new,'New') (200,open,'Open') (300,exit,'Exit') (400,save,'Save') (500,saveall,'Save All') (600,back,'Back') (700,go,'Go') (800,clear,'Clear') () (wx.EVT_TOOL,,id=200) (wx.EVT_TOOL,,id=300) (wx.EVT_TOOL,,id=400) (wx.EVT_TOOL,,id=600) (wx.EVT_TOOL,,id=700) (wx.EVT_TOOL,,id=800) =(,-1,pos=(2,2),size=(-10,-50), style=|wx.TE_MULTILINE) = ()# Create a menu for text in "Cut Copy Paste SelectAll".split():#Populate the menu item = (-1, text) (wx.EVT_MENU, , item) (wx.EVT_CONTEXT_MENU, )# Bind a display menu event def OnShowPopup(self, event):# pop-up display pos = () pos = (pos) (, pos) def OnPopupItemSelected(self, event): item = (()) text = () if text=='Cut': (event) elif text=='Copy': (event) elif text=='Paste': (event) elif text=='SelectAll': (event) def OnOpen(self,event): filterFile=" All files (*.*) |*.*" opendialog=(self,u"Selection of documents",(),"",filterFile,) if ()==wx.ID_OK: =() f=open() (()) () () def OnTOpen(self,event): filterFile="All files (*.*) |*.*" opendialog=(self,u"Selection of documents",(),"",filterFile,) if ()==wx.ID_OK: =() f=open() (()) () (()) () def OnSave(self,event): filterFile="All files (*.*) |*.*" opendialog=(self,u'Save file',(),"",filterFile,) if ()==wx.ID_OK: =() () def OnTSave(self,event): if == '': filterFile="All files (*.*) |*.*" opendialog=(self,u'Save file',(),"",filterFile,) if ()==wx.ID_OK: =() () (()) =+1 else: () (()) =+1 def OnSaveAll(self,event): pass def OnExit(self,event): () def OnTExit(self,event): () def OnBack(self,event): () def OnTBack(self,event): try: =-1 ([]) except IndexError: =0 def OnTGo(self,event): try: =+1 ([]) except IndexError: =len()-1 def OnClear(self,event): () def OnTClear(self,event): () def OnCut(self,event): () def OnCopy(self,event): () def OnPaste(self,event): () def OnSelect(self,event): () def OnResize(self,event): newsize=() width=()-10 height=()-50 ((width,height)) () if __name__=='__main__': app=() myFrame=MyFrame() () ()
Readers interested in more Python related content can check out this site's topic: thePython Data Structures and Algorithms Tutorial》、《Python Socket Programming Tips Summary》、《Summary of Python function usage tips》、《Summary of Python string manipulation techniques》、《Python introductory and advanced classic tutorialsand theSummary of Python file and directory manipulation techniques》
I hope that what I have said in this article will help you in Python programming.