окно wxpython и multisplitter

#wxpython

#wxpython

Вопрос:

У меня есть mutlisplitterwindow, и в этом окне есть панель с textctrl в ней. Допустим, в тексте ctrl 1000 строк, но я хочу специально прокрутить строку 450 и поместить ее в верхнюю часть моего окна… как бы я это сделал?

Ответ №1:

Я не могу найти ничего конкретного по этой теме, но вы можете попробовать один из следующих методов TextCtrl: SetInsertionPoint или ShowPosition.

Смотрите также http://www.wxpython.org/docs/api/wx.TextCtrl-class.html

Возможно, вам больше повезет с одним из StyledTextCtrls. Затем вы также можете изменить другие функции, например, цвет текста: http://www.wxpython.org/docs/api/wx.stc.StyledTextCtrl-class.html

Комментарии:

1. Я никогда не использовал styledTextCtrl, но у него есть функция, которая, я думаю, будет работать… ShowLines () … все еще пытаюсь заставить его отображать текст, хотя ха-ха

2. Вам следует ознакомиться с демонстрацией wxPython. В нем есть пример.

3. да, прошлой ночью я заработал код, демонстрация wxPython была довольно полезной, но я чувствовал, что в ней упущено несколько вещей, но мне удалось с этим поработать. Единственное, что я заметил, это то, что функция ShowLines () не регулирует прокрутку вниз. Это означает, что если ваш текст находится ниже видимой области, он не будет прокручиваться до него, если он выше видимой области, он работает нормально…

4. Итак, я заметил, что вызов GetLineCount() во время вызова ShowLines() равен 1 … однако в STCtrl есть 50 строк текста …

5. ОК… итак, мне удалось заставить все возвращать правильные значения, но я просто не могу заставить его ShowLines() что-либо делать… Однако я могу выполнить ScrollToLine() и добавить некоторую логику, чтобы убедиться, что диапазон виден, но у меня сложилось впечатление, что ShowLines() должен это делать… или я неправильно понимаю функциональность ShowLines () ?