gpt4 book ai didi

python - wxPython 列表控件 : write Colored text

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:51 24 4
gpt4 key购买 nike

尝试将字符串写入 ListCtrl ,我不完全理解其中的逻辑。这是正确的方法吗?

    self.rightPanel = wx.ListCtrl(spliter, -1, style=wx.LC_REPORT)
self.rightPanel.InsertColumn(0, 'LineNumber')
self.rightPanel.InsertColumn(1, 'log')
self.rightPanel.SetColumnWidth(0, 8)
self.rightPanel.SetColumnWidth(1, 80)

def writeConsole(self,str):
item = wx.ListItem()
item.SetText(str)
item.SetTextColour(wx.RED)
item.SetBackgroundColour(wx.BLACK)
index = self.rightPanel.GetItemCount()
self.rightPanel.InsertItem(item)
self.rightPanel.SetStringItem(index, 0, str(index))
self.rightPanel.SetStringItem(index, 1, item.GetText())

1-为什么文本没有以彩色显示?
2-为什么在ListCtrl中有2种不同的显示文本的方法?

   ListCtrl.InsertItem()
ListCtrl.SetStringItem()

我认为 InsertItem 只是将项目加载到 list.SetString 但显示项目内容。(不确定)

最佳答案

SetTextColour()SetBackgroundColour() 是整个 listctrl 的方法,而不是项目的方法。对于您应该使用的项目(仅对报告模式有效):

GetItemTextColour(idx_item)
SetItemTextColour(idx_item, col)

InsertItem(index, item)(这里的item是wx.ListItem的实例)是InsertItem()方法之一在 ListCtrl 上添加一个新行。

SetStringItem(index, col, label, imageId=-1)(其中 index 和 col 参数是单元格的行和列索引)允许在任何选定的列中设置字符串。其他插入方法仅适用于第一列。

引用:wxPython 实战,Noel Rappin 和 Robin Dunn。

关于python - wxPython 列表控件 : write Colored text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7748371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com