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