문제

WX.TextCtrl을 사용하여 네트워크 데몬에서 텍스트를 출력하고 있습니다.
출력이 상당히 장점이므로 TextCtrl의 텍스트 크기는 거대해질 수 있습니다 (BTW TextCtrl의 내용 크기에 제한이 있습니까?)
TextCtrl.getNumberOflines ()가 사전 정의 된 트레 폴드를 초과 할 때 TextCtrl에서 상단 N 줄을 삭제하고 싶습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

그만큼 setMaxLength 참조 제한은 기본 원시 텍스트 제어에 따라 다르지만 최소한 32kb 여야한다고 말합니다.

상단 N 라인을 삭제하는 것에 대해 getlinelengrength 0..n-1의 경우 합계를 계산 한 다음 제거하다(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 (또는 n+1, 0 또는 1 기반을 계산하는 방법에 따라 wx.TextCtrl.Remove(0, i) 첫 번째를 제거합니다 N 윤곽.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top