2011-08-17 2 views

답변

2

GetInsertionPoint()을 사용하면 커서의 현재 위치를 찾을 수 있습니다. 다음을 사용하면 len(self.LogWindow.GetRange(0, self.LogWindow.GetInsertionPoint()).split("\n")) 라인 번호를 얻을 수 있습니다.

그리고 당신이 사용할 수 있습니다 GetLineText() 텍스트의 전체 라인을 얻을 ... 그래서

: thoery에서

curPos = self.LogWindow.GetInsertionPoint 
lineNum = self.LogWindow.GetRange(0, self.LogWindow.GetInsertionPoint()).split("\n") 
lineText = self.LogWindow.GetLineText(lineNum) 

작동합니다 ...?

Check This Out...

+0

감사합니다. – drfrev

1

당신은 오히려 사냥 또는 \n의 계산보다, 주어진 삽입 지점의 줄 번호를 알아 PositionToXY()를 사용할 수 있습니다.

lineNum = self.LogWindow.PositionToXY(curPos)[1] # lineNum is the y coord from PosToXY() 
+0

이 주석의 현재 버전에서 wxPython Phoenix TextCtrl.PositionToXY()는 (bool, x, y)를 반환하므로 PositionToXY (curPos) [2]가 적절합니다. – DevPlayer

+0

와우 - 전화를 변경 했습니까? 그게 좀 심한 것 같아? – GreenAsJade

+0

예. 비록 TextCtrl을 사용하고 있지만, wx.LogWindow.PositionToXY()와 wx.TextCtrl.PositionToXY()가 둘 다 같은 위치에서 상속 받고 튜플 대신에 트리플을 리턴 할 가능성이 높습니다. 그러나 나는 그것을 시험하지 않았다. 또한 Python 2.x 대신 Python 3.4.2에서 작업하고 있습니다. 반환 값 구조에 영향을 미칠 수는 없지만 Phoenix 패키지에 사용 된 오버로드의 일부 형식이 있습니다. PositionToXY()의 감가 상각 된 버전 (예 : 이전 버전과의 호환 가능) – DevPlayer

관련 문제