В настоящее время я пишу протеомический инструмент анализа покрытия (если вы не знаете, что это такое, он выглядит something like this. В принципе, я должен представить большое количество явно случайного текста и выделить различные его части. m с помощью wx.Grid с отключенными контурами ячеек, чтобы представить текст организованно (поскольку wx.RichTextCtrls не удается правильно выделить моноширинный выделенный текст, вздох). Однако среди многих функций wx.Grids (и wx.XLSGrids и т. д.) есть варианты выделения целых ячеек, я не могу найти способ выделить конкретный текст внутри ячейки. Есть ли способ достичь этого?Как выделить отдельные символы в ячейке wx.Grid?
0
A
ответ
0
Возможно. Ближайшая вещь, о которой я знаю, это Custom Renderer в демонстрации wxPython для виджета Grid. Глядя на источник, он, кажется, использует DC для рисования текста разными цветами. s отрывок из демонстрационной версии:
class MyCustomRenderer(gridlib.PyGridCellRenderer):
def __init__(self):
gridlib.PyGridCellRenderer.__init__(self)
def Draw(self, grid, attr, dc, rect, row, col, isSelected):
dc.SetBackgroundMode(wx.SOLID)
dc.SetBrush(wx.Brush(wx.BLACK, wx.SOLID))
dc.SetPen(wx.TRANSPARENT_PEN)
dc.DrawRectangleRect(rect)
dc.SetBackgroundMode(wx.TRANSPARENT)
dc.SetFont(attr.GetFont())
text = grid.GetCellValue(row, col)
colors = ["RED", "WHITE", "SKY BLUE"]
x = rect.x + 1
y = rect.y + 1
for ch in text:
dc.SetTextForeground(random.choice(colors))
dc.DrawText(ch, x, y)
w, h = dc.GetTextExtent(ch)
x = x + w
if x > rect.right - 5:
break
Надеюсь, это поможет вам приступить к работе. Если это не сработает для вас, вам, возможно, придется придумать свой собственный рендерер.
Смежные вопросы
- 1. Форматировать отдельные символы по-разному в ячейке Excel
- 2. выделить отдельные ячейки
- 3. Отдельные номера и текста в ячейке
- 4. Как выделить изображение в ячейке UICollectionView?
- 5. Как выделить текст в ячейке pdf?
- 6. Как выделить «токены» в отдельные переменные
- 7. Как центрировать wx.Grid в wxPython
- 8. Microsoft sql выделить отдельные столбцы
- 9. Ограничить символы в ячейке Datagridview
- 10. выделить символы в android listView
- 11. Как выделить символы в String для Textview?
- 12. Заменить отдельные символы в наборе
- 13. Отдельные символы дефисом в vba
- 14. Отдельные символы файла в matlab
- 15. Как эффективно стилизовать отдельные символы в элементе?
- 16. Как заменить отдельные символы в файле
- 17. Как изменить отдельные символы в строке указателя?
- 18. Как перебирать отдельные символы в строке Lua?
- 19. Как ударить отдельные символы в Silverlight TextBlock
- 20. Слияние аджаентных клеток в wx.Grid
- 21. Как я могу выделить символы и цифры из ввода и сохранить как отдельные переменные php
- 22. wx.Grid размер блокировки ячеек
- 23. Как выделить строку в отдельные цифры в массиве в JavaScript?
- 24. wx.Grid и wx.StockCursor
- 25. Как выделить данные в нажатой ячейке в DBgrid (SMDBGrid)?
- 26. Как выделить отдельные элементы в treeview в WF
- 27. Принимая отдельные символы с basic.LineReceiver
- 28. Отдельные символы для нескольких строк
- 29. Как я могу выделить элементы в одной ячейке arraylist?
- 30. Как выделить все осколки конкретной подстроки в ячейке?
У вас есть просмотр ** другого текстового элемента управления для более богатого форматирования текста (который будет wx.StyledTextCtrl, ищите пример в демонстрации wxPython)? Поскольку он основан на текстовом компоненте Scintilla, который используется во многих текстовых редакторах, он должен иметь возможность делать то, что вам нужно. – nepix32