1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import wx
import sys, traceback
class TextScrollFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title)
self.SetSize((600,500))
self.log_tc1 = wx.TextCtrl(self, -1, style=wx.TE_MULTILINE|wx.TE_RICH|wx.TE_READONLY|wx.TE_NOHIDESEL|wx.HSCROLL)
self.log_tc2 = wx.TextCtrl(self, -1, style=wx.TE_MULTILINE|wx.TE_RICH|wx.TE_READONLY|wx.TE_NOHIDESEL|wx.HSCROLL)
Box = wx.BoxSizer(wx.HORIZONTAL)
Box.Add(self.log_tc1, 1, wx.EXPAND)
Box.Add(self.log_tc2, 1, wx.EXPAND)
self.SetSizer(Box)
for i in range(100):
self.log_tc1.AppendText("toto%s\r\n"%(i+1))
self.log_tc2.AppendText("toto%s\r\n"%(i+1))
self.log_tc1.Bind(wx.EVT_SCROLLWIN_THUMBTRACK, self.scrollOnLog1)
self.Show()
def scrollOnLog1(self,evt):
pos=evt.GetPosition()
print "pos =",pos
self.log_tc2.SetScrollPos(wx.VERTICAL,pos,True)
evt.Skip()
if __name__ == '__main__':
try:
app = wx.PySimpleApp(redirect=True)
frm = TextScrollFrame(None, "text scroll")
app.SetTopWindow(frm)
app.MainLoop()
except:
traceback.print_exc (file=open('error_scrolltext.txt', 'w') |
Partager