2016-12-05 7 views
1

Мне было интересно об этом, поэтому я сделал довольно много поисковых запросов Google и придумал функцию SetWrapMode(self, mode). Тем не менее, он никогда не был очень подробным, и не было ничего, что действительно сказал, как его использовать. Я закончил тем, что понял это, поэтому я подумал, что разместил здесь эту тему и отвечу на свой вопрос для всех, кто задается вопросом, как сделать stc.StyledTextCtrl() переносом слов.Как установить перенос слов для stc.StyledTextCtrl() в wxPython

ответ

1

Итак, сначала вам нужно, чтобы ваш стиль управления стилями уже был определен, конечно. Если вы не знаете, как это сделать, перейдите к некоторым учебникам по 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

Я вижу, что вы ответили на свой вопрос, и вы правы во всех отношениях, за исключением одной маленькой детали. На самом деле существует несколько режимов переноса. Типы и значения, соответствующие им не являются:

  • 0: Нет
  • 1: Word Wrap
  • 2: Характер Wrap
  • 3: Пробелы Wrap

Так вы не может ввести значение выше 0, чтобы получить перенос слов. Фактически, если вы вводите значение за пределами 0-3, вы должны просто не обернуть обертку, поскольку значение не должно распознаваться Scintilla, что и есть библиотека stc.

+0

Спасибо, это действительно помогает! Теперь я изменю свой ответ. Между прочим, я не из тех жопы, у кого нет ни малейших оснований, но для подобных вещей вы можете использовать комментарии ... Есть много людей, которые могли бы ответить так, потому что это не полный ответ. В любом случае, спасибо за разъяснение! Я только начал с wxPython около недели назад, поэтому я довольно новый :) –

+1

Приветствую вас, и я согласен с комментариями.Я хотел сделать это, но, к сожалению, сайт не позволяет вам комментировать вопросы или темы других народов, если у вас нет 50 или более репутации. Это означает, что я не мог комментировать вашу тему, пока сам не отправил ответ: P –

 Смежные вопросы

  • Нет связанных вопросов^_^