【发布时间】:2019-12-28 07:40:14
【问题描述】:
作为标题,我不明白为什么我不能更改所选项目的背景颜色。这是我的代码...
self.listaFatture = wx.ListCtrl(self, size=(frame.GetSize().Width - 30, frame.GetSize().Height - 250), style=wx.LC_REPORT)
.....
self.listaFatture.Bind(wx.EVT_LIST_ITEM_SELECTED, self.SelezionaFatturaColore)
.....
def SelezionaFatturaColore(self,event):
print('Selezionato')
index= event.GetIndex()
self.listaFatture.SetItemBackgroundColour(index, 'gray')
self.listaFatture.SetItemTextColour(index, 'black')
事件被触发,但颜色没有改变
提前感谢所有试图帮助我的人
【问题讨论】:
-
当项目为
selected时,颜色不会发生变化,因为这取决于您的操作系统。但是,如果您选择另一个项目,应该可以看到颜色已经改变。这是指的什么,如果是的话,你做的不多吗? -
我不知道我是否理解,但是如果我将颜色的变化放在 unselect 事件中,这可行...问题是我只想选择一行但颜色一次已更改我无法重置它,因此有 N 个选定行。我很抱歉我的英语,我希望你能理解我。无论如何都非常感谢
-
在您的桌面或程序中选择一个“事物”,突出显示该“事物”。您当前的操作系统
Theme将定义选定项目的外观。您不能在程序中覆盖它。您可以为它编写代码,但它会被操作系统覆盖。