Найти - Пользователи
Полная версия: Форматирование текста wxRichTextCtrl
Начало » GUI » Форматирование текста wxRichTextCtrl
1
dbalor
Здравствуйте,

Есть элемент управления
 ...
self.change=wx.richtext.RichTextCtrl(panel,pos=(10,100),size=(480,250),style=wx.TE_MULTILINE)
...
Вводим какой либо текст
Выделяем фрагмент этого текста в self.change
Вопрос как изменить отформатировать выделенный фрагмент текста? К примеру цвет текста красный, жирный шрифт и изменить размер шрифта…
dbalor
Решил задачу, вот код:
 ...
        if not self.change.HasSelection(): 
            return
        r = self.change.GetSelectionRange() 
        fontData = wx.FontData() 
        fontData.EnableEffects(True) 
        attr = wx.richtext.RichTextAttr()
        attr.SetFlags(wx.TEXT_ATTR_FONT) 
        if self.change.GetStyle(self.change.GetInsertionPoint(), attr):
            fontData.SetInitialFont(attr.GetFont())
        #получаем стили текста
        dlg = wx.FontDialog(self, fontData) 
        if dlg.ShowModal() == wx.ID_OK: 
            fontData = dlg.GetFontData() 
            fnt = fontData.GetChosenFont()
            colour = fontData.GetColour()
        #устанавливаем стили текста
        if fnt: 
            attr.SetFlags(wx.TEXT_ATTR_FONT) 
            attr.SetFont(fnt)
            attr.SetTextColour(colour)
            self.change.SetStyle(r, attr)
        dlg.Destroy()         
...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB