我想在列表框中替换背景颜色,以便更容易阅读。像这样:
然而,我无法弄清楚如何做到这一点。从文档中,我看到wx.listbox有一个名为SetItemBackgroundColor(self, item, colour)
的方法,但我不确定(a)item参数是某种索引还是wx.ID,或者(b)如果该方法实际适用于listbox
(可能是继承树中更高的东西?)
我已尝试传入索引,并为方法添加颜色,但它没有做任何事情。所以我不确定它是否不起作用,因为我传入了错误类型的标识符,或者它不起作用,因为该方法不适用于该对象。
如果是我应该传递给item
参数的wx.ID,那么如何获取listbox实例的这些信息呢?
答案 0 :(得分:3)
使用ListBox
无法设置背景颜色。 ListCtrl
可以做到这一点。
一般来说,ListBox
适用于小型简单列表(因此快速而简单),ListCtrl
提供了更大的灵活性(但也涉及更多)。
有关如何制作条纹背景的示例,请参阅CoreWindows\ListCtrl_virtual
下的演示。
更新关于wx docs(没有SetItemBackgroundColor方法)和wxpython docs(确实如此)之间的区别:
看来当可以使用本机API时,当它支持wx库之外的某些功能时,有时会将其访问添加到包装器中。也就是说,SetItemBackgroundColor的使用取决于平台,基于本机API。有关讨论,请参阅this thread(特别是Robin Dunn的参赛作品)。当它在本机平台中不可用时,the command is ignored。