小默

去除代码前行号的小工具

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

posted on 2010-08-22 22:13 小默 阅读(355) 评论(0)  编辑 收藏 引用 所属分类: Language


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

留言簿(13)

随笔分类(287)

随笔档案(289)

漏洞

搜索

积分与排名

最新评论

阅读排行榜