wxpython提供以下API来更改wx.listbox项目颜色:
wx.ListBox.SetItemBackgroundColour(self, item, c)
和
wx.ListBox.SetItemForegroundColour(self, item, c)
由于某种原因,此功能无法在我的Linux和Windows中这样做。有人知道为什么吗?
请注意,wx.ListBox.SetOwnBackgroundColor
工作得很好。
我的猜测是它是本机小部件的限制。我已经看到了几个小部件,您无法设置背景或前景颜色,因为该小部件只是在该平台上不支持它,但是它确实在其他平台上支持它。您可以在WXPYTHON邮件列表上询问以确保。他们那里有一些主要的WX Dev。
与此同时,请查看vlistbox或切换到listCtrl。
您必须将wx.lb_ownerdraw样式添加到listbox
self.list_box_1 = wx.ListBox(self.panel_1, wx.ID_ANY, choices=["test1","test2"] ,style=wx.LB_OWNERDRAW)
self.list_box_1.SetItemForegroundColour(1,wx.Colour(219, 112, 219))