Vad
Ноя. 10, 2008 14:29:24
Из потока вывожу данные в wx.TextCtrl.
Ошибки хочу выводить красным цветом, как на этапе подготовки строки для вывода поменять ее текущий цвет на красный например.
Вывожу с помощью AppendText(str)
hellslade
Ноя. 10, 2008 20:52:30
wx.TextCtrl.SetForegroundColour(wx.RED)
или
wx.TextCtrl.SetFont
Vad
Ноя. 10, 2008 22:23:05
Так понятно. Это изменение свойств wx.TextCtrl
А может можно как нибудь редактировать строку до добавления ее с помощью AppendText()
hellslade
Ноя. 11, 2008 09:25:14
Редактировать строку до добавления не получится.
Если вы хотите просто обозначить ошибки, то можно сделать так:
text.SetDefaultStyle(wx.TextAttr(wx.RED) )
text.AppendText(“Текст ошибки\n”)
text.SetDefaultStyle(wx.TextAttr(wx.BLACK) )
text.AppendText(“Другой текст\n”)
Vad
Ноя. 11, 2008 09:33:28
Понятно. Я так и сделал. Просто думал мож появились какие нибудь возможности править текст до вставки.
У меня валится текст с порта в TextCtrl, нада отследить Error и позицию его в wx.TextCtrl и выделить только требуемые позиции цветом, что я и сделал.
Jenyay
Ноя. 11, 2008 13:56:59
Может использовать HtmlListBox? Тогда ошибки можно будет оборачивать в тег <font color=“…”>.
Vad
Ноя. 11, 2008 14:09:39
Я думал насчет Html
Но у меня компонент wx.TextCtrl
GUI набрасываю в wxGlade там ограниченное количество визуальных компонентов и Html тама нет…..вооот
Jenyay
Ноя. 11, 2008 14:16:31
В принципе, в wxGlade можно добавлять свои компоненты, правда я не интересовался как :) А еще там есть пользовательский контрол (custom widget).
Vad
Ноя. 11, 2008 14:25:57
Видел такой..тока как пользоватся им так и не понял..этим custom widget
Jenyay
Ноя. 11, 2008 14:43:43
А wxGlade при добавлении виджета спросит его класс, а потом в свойствах надо будет добавить параметры конструктора. Но все остальные свойства придется настраивать вручную уже в коде.