将颜色设置为wx.listbox项目



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))

最新更新