Форум сайта python.su
Из потока вывожу данные в wx.TextCtrl.
Ошибки хочу выводить красным цветом, как на этапе подготовки строки для вывода поменять ее текущий цвет на красный например.
Вывожу с помощью AppendText(str)
Офлайн
wx.TextCtrl.SetForegroundColour(wx.RED)
или
wx.TextCtrl.SetFont
Отредактировано (Ноя. 10, 2008 20:53:32)
Офлайн
Так понятно. Это изменение свойств wx.TextCtrl
А может можно как нибудь редактировать строку до добавления ее с помощью AppendText()
Офлайн
Редактировать строку до добавления не получится.
Если вы хотите просто обозначить ошибки, то можно сделать так:
text.SetDefaultStyle(wx.TextAttr(wx.RED) )
text.AppendText(“Текст ошибки\n”)
text.SetDefaultStyle(wx.TextAttr(wx.BLACK) )
text.AppendText(“Другой текст\n”)
Офлайн
Понятно. Я так и сделал. Просто думал мож появились какие нибудь возможности править текст до вставки.
У меня валится текст с порта в TextCtrl, нада отследить Error и позицию его в wx.TextCtrl и выделить только требуемые позиции цветом, что я и сделал.
Офлайн
Может использовать HtmlListBox? Тогда ошибки можно будет оборачивать в тег <font color=“…”>.
Офлайн
Я думал насчет Html
Но у меня компонент wx.TextCtrl
GUI набрасываю в wxGlade там ограниченное количество визуальных компонентов и Html тама нет…..вооот
Офлайн
В принципе, в wxGlade можно добавлять свои компоненты, правда я не интересовался как :) А еще там есть пользовательский контрол (custom widget).
Офлайн
Видел такой..тока как пользоватся им так и не понял..этим custom widget
Офлайн
А wxGlade при добавлении виджета спросит его класс, а потом в свойствах надо будет добавить параметры конструктора. Но все остальные свойства придется настраивать вручную уже в коде.
Офлайн