题
我使用的是wx.TextCtrl到输出文本从网络守护程序。结果, 由于输出相当冗长,文中TextCtrl大小可以成为巨大的(顺便说一句是那里的TextCtrl内容的大小有限制吗?)结果 我想删除从TextCtrl的前N个线路时TextCtrl.GetNumberOfLines()超过预定义treshold。 什么是实现这一目标的最佳方式是什么?
解决方案
在 SetMaxLength参考说,限制依赖于底层的本地文本控制,但应该是32KB至少
关于删除前N行,你可以尝试调用 GetLineLength 为0..N-1,计算和S,然后调用删除 (0,S)
其他提示
如何wx.TextCtrl的删除方法?
当你准备要添加新的内容,您可以检查当前的文本显示时间过长,从一开始删除一些。
删除()应达到目的。
而不wx.TE_RICH标志TextCtrl不能有在Windows超过64KB。
您应该能够使用 wx.TextCtrl.PositionToXY()
一>和 wx.TextCtrl.XYToPosition()
以转换位置(在从开始字符)和从(column, line_num)
对测量。
因此,可以使用i = wx.TextCtrl.XYToPosition(0, n)
获得特定的线的位置i
名词(或 n + 1个,这取决于如何你尽数O-或1-基于),然后调用 wx.TextCtrl.Remove(0, i)
删除第一名词的线。
不隶属于 StackOverflow