wxpython textctrl Как узнать, где находится текстовый указатель - PullRequest
1 голос
/ 17 августа 2011

Мне нужно знать, где находится текстовый указатель (мигающая строка) в textctrl. Я также хотел бы знать, возможно ли получить всю строку, на которой находится указатель, или мне просто нужно написать код, чтобы получить текущую строку из позиции указателя.

Ответы [ 2 ]

2 голосов
/ 17 августа 2011

Вы можете использовать GetInsertionPoint(), чтобы найти текущую позицию курсора. Вы можете использовать: len( self.LogWindow.GetRange( 0, self.LogWindow.GetInsertionPoint() ).split("\n") ), чтобы получить сам номер строки.

И тогда вы можете использовать: GetLineText() чтобы получить всю строку текста ...

Итак:

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

В твоем случае это должно работать ...?

Проверить это ...

1 голос
/ 27 августа 2011

Вы можете использовать PositionToXY(), чтобы узнать номер строки данной точки вставки, вместо того, чтобы искать или считать \n с.

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