2013-01-09 110 views
3

我想在我的列表框中替换背景颜色,以便读起来更容易一些。事情是这样的:是否可以更改wx.ListBox中项目的背景颜色?

enter image description here

然而,我无法弄清楚如何做到这一点。从文档中,我看到wx.listbox有一个名为SetItemBackgroundColor(self, item, colour)的方法,但我不确定(a)item参数是某种索引还是某个wx.ID,或者(b)如果该方法是实际的适用于listbox(也许它是在继承树更高的东西?)

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

如果它一个wx.ID,我应该通过item参数,如何获取这些信息的列表框实例?

回答

3

设置背景色不可能与ListBoxListCtrl可以做到这一点,但。

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

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

wx docs之间的差异(不具备SetItemBackgroundColor方法)更新wxpython docs(它做):
看来,当本机API可以使用,当它支持一些功能超越wx库,访问它有时被添加到包装。也就是说,使用SetItemBackgroundColor取决于平台,基于本机API。有些讨论见this thread(特别是Robin Dunn的文章)。当它在本地平台上不可用时,the command is ignored

相关问题