3

我想在我的列表框中交替使用背景颜色,以便更容易阅读。像这样的东西:

在此处输入图像描述

但是,我不知道该怎么做。从文档中,我看到 wx.listbox 有一个名为 的方法SetItemBackgroundColor(self, item, colour),但我不确定(a)item 参数是否是某种索引或 wx.ID,或者(b)该方法是否实际适用到listbox(也许是为了继承树中更高的东西?)

我尝试将索引以及颜色传递给该方法,但它没有做任何事情。所以我不确定它是否不起作用,因为我传入了错误类型的标识符,或者它是否不起作用,因为该方法不适用于对象。

如果它我应该为item参数传递的 wx.ID,如何获取列表框实例的此类信息?

4

1 回答 1

3

无法使用 设置背景颜色ListBoxListCtrl虽然可以做到这一点。

一般来说,ListBox适用于小型简单列表(因此快速而简单),并ListCtrl提供更大的灵活性(但也涉及更多)。

有关如何制作条纹背景的示例,请参阅下的演示CoreWindows\ListCtrl_virtual

更新wx 文档(没有 SetItemBackgroundColor 方法)和wxpython 文档(有)之间的区别:
似乎当可以使用本机 API 时,以及当它支持 wx 库之外的某些功能时,访问有时会将其添加到包装器中。也就是说,SetItemBackgroundColor 的使用取决于平台,基于本机 API。请参阅此线程进行一些讨论(特别是 Robin Dunn 的条目)。当它在本机平台上不可用时,该命令被忽略

于 2013-01-09T17:03:30.110 回答