去除代码前行号的小工具

去除代码前行号的小工具

http://www.cnblogs.com/yanxy/archive/2010/02/19/yanxyfirstpython.html

==================

网上看的例子,记3点:
1.  u''
2. self.textBox.GetValue()
    self.textBox.SetValue()
3. singleStr  =  singleStr[i:]    #  留后面的内容

#  -*- coding:utf-8 -*-
#
 去除代码前行号的小工具
#
import  wx

class  MainWindow(wx.Frame):
    
def   __init__ (self, parent, id):
        wx.Frame.
__init__ (self, parent, id,
                          u
' 去除代码前行号的小工具 ' )
        self.textBox 
=  wx.TextCtrl(self,  1 ,
                                   style 
=  wx.TE_MULTILINE,
                                   size 
=  ( 600 , 600 ))
        self.butOK 
=  wx.Button(self, label  =  u ' 去除行号 ' )
        self.butLeft 
=  wx.Button(self, label  =  u ' 去除左侧第一个字符 ' )
        self.Bind(wx.EVT_BUTTON, self.CutLineNum, self.butOK)
        self.Bind(wx.EVT_BUTTON, self.CutLeftChar, self.butLeft)
        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)

        self.sizer 
=  wx.BoxSizer(wx.HORIZONTAL)
        self.sizer.Add(self.textBox, 
1 , wx.EXPAND)
        self.sizer.Add(self.butOK)
        self.sizer.Add(self.butLeft)
        self.SetSizer(self.sizer)
        self.SetAutoLayout(
1 )
        self.sizer.Fit(self)
        self.Show(True)

    
def  OnCloseWindow(self, event):
        self.Destroy()

    
def  CutLineNum(self, event):
        multiStr 
=  unicode(self.textBox.GetValue()).splitlines( 1 # !!!获取文本框中的数据!!!
        outStr  =  u ''
        
for  singleStr  in  multiStr:
            singleStr 
=  singleStr.lstrip()
            i 
=  0
            
for  charStr  in  singleStr:
                
if  charStr.isdigit():
                    i 
+=   1
                
elif  i  >  0:
                    singleStr 
=  singleStr[i:]    #  除去数字,留后面的内容
                     break
                
else :
                    
break
            outStr 
+=  singleStr
        self.textBox.SetValue(outStr)

    
def  CutLeftChar(self, event):
        outStr 
=  u ''
        multiStr 
=  unicode(self.textBox.GetValue()).splitlines( 1 )
        
for  singleStr  in  multiStr:
            singleStr 
=  singleStr[ 1 :]
            outStr 
+=  singleStr
        self.textBox.SetValue(outStr)

if   __name__   ==   ' __main__ ' :
    app 
=  wx.PySimpleApp()
    frame 
=  MainWindow(parent  =  None, id  =   - 1 )
    app.MainLoop()
del  app

你可能感兴趣的:(去除代码前行号的小工具)