Hallo zusammen,
ist es möglich, den Hintergrund einer einzelnen Zelle in einem wx.ListCtrl Element zu ändern?
Hab nur die Option gefunden, dass sich der Hintergrund der ganzen Row ändert.
Sachverhalt:
Es gibt eine Liste mit Mitarbeitern und jeder Mitarbeiter besitzt einen Status. Ist der Mitarbeiter z.B. Anwesend so soll die Zelle in der Spalte Status grün sein.
Gruss
Zellen Farbe in wx.listCtrl ändern
in der demo unter listctrlvirtual
sorry fehler beim lesen
es geht nur die ganze reihe in der farbe
wenn du reie spalte haben möchtest solltest du grid nehmen!
hier mal ein einfaches beispiel
sorry fehler beim lesen
es geht nur die ganze reihe in der farbe
wenn du reie spalte haben möchtest solltest du grid nehmen!
Code: Alles auswählen
attr = gridlib.GridCellAttr()
attr.SetTextColour(wx.BLACK)
attr.SetBackgroundColour(color)
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import wx
import wx.grid as gridlib
wx.SetDefaultPyEncoding("iso-8859-1")
class MyFrame(wx.Frame):
def __init__(self, parent = None, id = -1, title = "wxPython GRID", size = (300, 250)):
wx.Frame.__init__(self, parent, id, title, size = size)
self.tabelle = Tabelle(self)
class Tabelle(gridlib.Grid):
def __init__(self,parent):
gridlib.Grid.__init__(self,parent, -1)
self.moveTo = None
self.farben = (wx.Colour(200,200,20), wx.GREEN,wx.RED, wx.CYAN)
self.CreateGrid(5,3)
self.SetCellBackgroundColour(1,1,self.farben[1])
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = MyFrame()
frame.Show()
app.MainLoop()