我使用的是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) 删除第一名词的线。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top