python - 是否可以更改 wx.ListBox 中项目的背景颜色?

标签 python wxpython

我想改变我的列表框中的背景颜色,以便更容易阅读。像这样:

enter image description here

但是,我不知道该怎么做。从文档中,我看到 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/

相关文章:

Python 类成员与实例成员不同

python - 为什么它必须是 GUI 线程的上下文?

python - 在wxPython中嵌入matplotlib FuncAnimation : Unwanted figure pop-up

python - 如何垂直打印此列表?

python - pgsql/python 的编码问题?

python - 使用 boto3 删除 CloudFront 分配

python - 运行时错误 : one of the variables needed for gradient computation has been modified by an inplace operation

python - 为什么在尝试运行 Pyramid 项目时出现 DistributionNotFound 错误?

python - HtmlWindow 无法正确显示图像

python - 如何理解wxGridBagSizer?