UltimateListCtrl设置方法不起作用

时间:2016-03-17 18:00:06

标签: python wxpython

我正在使用wxPython,我正在尝试设置UltimateListCtrl中特定项目的背景颜色。当我为特定项目设置文本时,如下所示:

list.SetItemText(1,"something")

这没有任何问题。但是,当我尝试使用SetItemBackgroundColour时,例如,像这样:

list.SetItemBackgroundColour(1,'#0000FF')

我得到一个奇怪的错误,我不知道如何解决:

Traceback (most recent call last):
  File "C:\Program Files\DeVIDE-RE\python\lib\site-packages\wx-2.8-msw-unicode\w
x\lib\agw\ultimatelistctrl.py", line 6891, in OnPaint
    enabled = theLine.GetItem(0, CreateListItem(line, 0)).IsEnabled()
  File "C:\Program Files\DeVIDE-RE\python\lib\site-packages\wx-2.8-msw-unicode\w
x\lib\agw\ultimatelistctrl.py", line 4000, in GetItem
    return item.GetItem(info)
  File "C:\Program Files\DeVIDE-RE\python\lib\site-packages\wx-2.8-msw-unicode\w
x\lib\agw\ultimatelistctrl.py", line 3079, in GetItem
    if self._attr.HasTextColour():
  File "C:\Program Files\DeVIDE-RE\python\lib\site-packages\wx-2.8-msw-unicode\w
x\lib\agw\ultimatelistctrl.py", line 1183, in HasTextColour
    return self._colText.Ok()
AttributeError: 'str' object has no attribute 'Ok'

这真的很奇怪,因为SetItemText工作正常。我检查了documentation,但我无法理解为什么它不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您需要在Color中传递有效的SetItemBackgroundColour对象,而不是颜色字符串。

blue = Color(0, 0, 255)
list.SetItemBackgroundColour(1, blue)