我想改变我的列表框中的背景颜色,以便更容易阅读。像这样:
但是,我不知道该怎么做。从文档中,我看到 wx.listbox 有一个名为 SetItemBackgroundColor(self, item, colour)
的方法,但我不确定 (a) item 参数是索引还是 wx。某种 ID,或者 (b) 如果该方法实际适用于 listbox
(也许它适用于继承树中更高层的东西?)
我试过将索引和颜色一起传递给该方法,但它没有做任何事情。所以我不确定它是否不起作用,因为我传递了错误类型的标识符,或者它是否不起作用,因为该方法不适用于对象。
如果它是我应该为item
参数传递的wx.ID,如何获取列表框实例的此类信息?
最佳答案
ListBox
无法设置背景色。 ListCtrl
可以做到这一点。
一般来说,ListBox
用于简单的小列表(因此又快又简单),而 ListCtrl
提供了更多的灵 active (但也有点复杂) .
有关如何制作条纹背景的示例,请参阅 CoreWindows\ListCtrl_virtual
下的演示。
更新 wx docs 之间的区别(没有 SetItemBackgroundColor 方法)和 wxpython docs (which do):
似乎当可以使用 native API 并且它支持 wx 库之外的某些功能时,有时会将对它的访问添加到包装器中。也就是说,SetItemBackgroundColor 的使用取决于平台,基于 native API。参见 this thread进行一些讨论(特别是 Robin Dunn 的条目)。当它在 native 平台中不可用时,the command is ignored .
关于python - 是否可以更改 wx.ListBox 中项目的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14242275/