Мне было интересно об этом, поэтому я сделал довольно много поисковых запросов Google и придумал функцию SetWrapMode(self, mode)
. Тем не менее, он никогда не был очень подробным, и не было ничего, что действительно сказал, как его использовать. Я закончил тем, что понял это, поэтому я подумал, что разместил здесь эту тему и отвечу на свой вопрос для всех, кто задается вопросом, как сделать stc.StyledTextCtrl()
переносом слов.Как установить перенос слов для stc.StyledTextCtrl() в wxPython
ответ
Итак, сначала вам нужно, чтобы ваш стиль управления стилями уже был определен, конечно. Если вы не знаете, как это сделать, перейдите к некоторым учебникам по wxPython. Я рекомендую youtuber под названием sentdex http://youtube.com/sentdex, у которого есть полная серия на wxPython, а также Zach King, у которого есть 4 серии эпизодов по созданию текстового редактора. В любом случае, мое определение моего текстового элемента управления выглядит так: self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE)
. Твой может выглядеть немного иначе, но общая идея такая же.
self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE)
Много мест скажут вам, что это нужно будет SetWrapMode(self, mode)
, но если у вас есть self.CONTROLNAME
в начале, как я, вы получите сообщение об ошибке, если вы также положить себя в качестве аргумента, потому что self.
в начале считается аргументом. Однако, если ваш контроль определен с помощью self.CONTROLNAME
, и вы не ставите self.CONTROLNAME
в начале вашей функции SetWordWrap()
, вы также получите сообщение об ошибке, поэтому будьте осторожны с этим. Режим должен быть 0 или 1-3. Так, например, мой выглядит следующим образом: self.control.SetWrapMode(mode=1)
. Варианты режима Word wrap:
0: Отсутствует | 1: Word Wrap | 2: Обложка символов | 3: Пробелы Wrap
Моя последняя настройка определение и перенос слов выглядит следующим образом:
self.control = stc.StyledTextCtrl(self, style=wx.TE_MULTILINE)
self.control.SetWrapMode(mode=1)
И это все! Надеюсь, это помогло.
Благодаря @Chris Beaulieu для исправления меня по проблеме с параметрами режима.
Я вижу, что вы ответили на свой вопрос, и вы правы во всех отношениях, за исключением одной маленькой детали. На самом деле существует несколько режимов переноса. Типы и значения, соответствующие им не являются:
- 0: Нет
- 1: Word Wrap
- 2: Характер Wrap
- 3: Пробелы Wrap
Так вы не может ввести значение выше 0, чтобы получить перенос слов. Фактически, если вы вводите значение за пределами 0-3, вы должны просто не обернуть обертку, поскольку значение не должно распознаваться Scintilla, что и есть библиотека stc.
Спасибо, это действительно помогает! Теперь я изменю свой ответ. Между прочим, я не из тех жопы, у кого нет ни малейших оснований, но для подобных вещей вы можете использовать комментарии ... Есть много людей, которые могли бы ответить так, потому что это не полный ответ. В любом случае, спасибо за разъяснение! Я только начал с wxPython около недели назад, поэтому я довольно новый :) –
Приветствую вас, и я согласен с комментариями.Я хотел сделать это, но, к сожалению, сайт не позволяет вам комментировать вопросы или темы других народов, если у вас нет 50 или более репутации. Это означает, что я не мог комментировать вашу тему, пока сам не отправил ответ: P –