Einfüge-Strings in wx.ListCtrl formatieren

Plattformunabhängige GUIs mit wxWidgets.
Antworten
pascalsv
User
Beiträge: 16
Registriert: Samstag 7. Januar 2006, 15:45

Hallo zusammen,

ich würde gerne die Schriftgrösse meiner Strings, die in eine wx.ListCtrl eingefügt werden sollen, verändern. Aber wie??

Code: Alles auswählen

lb = wx.ListCtrl(parent, 1860, style=wx.LC_REPORT|wx.SUNKEN_BORDER, size=[self.width, self.height/2], pos=(0,15))
        
        lb.InsertColumn(0, "Datum")
        lb.InsertColumn(1, "Absender")
        lb.InsertColumn(2, "Betreff")
        
        lb.SetColumnWidth(0, (self.width/6))
        lb.SetColumnWidth(1, (self.width/6*2))
        lb.SetColumnWidth(2, (self.width/6*3))
Gruß,

Pascal

Edit (Leonidas): Ins wxPython-Unterforum verschoben.
Life is short - don't buy green bananas...
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Meinst du die Column header oder die einträge selbst?

Bei den Einträgen im ListCtrl habe ich das einmal so gemacht.
(nicht die Schrifthöhe verändert sondern bold gesetzt; aber ähnlich
müsste es mit einem anderen Font funktionieren, denke ich mir):

Ausschnitt aus meinem Code:

(nach dem Anlegen der ganzen listitems)

Code: Alles auswählen

 for i in range (len(self.listfiles)):
                item = self.listctrl.GetItem (i)
                colour = wx.Colour(64, 64, 64)
                t = self.getColumnText(i, 1)
                if t == "Window":
                    colour = wx.Colour(0, 128, 0)
                elif t == "EvtHandler":
                    colour = wx.Colour(0, 0, 128)
                elif t == "TopLevelWindow":
                    colour = wx.Colour(255, 128, 0)
                elif t == self.members[0][0]:
                    #colour = wx.Colour(128, 0, 0)
                    colour = wx.BLACK
                    item.SetFont(wx.Font(wx.DEFAULT, wx.DEFAULT, wx.NORMAL, wx.BOLD))
            
                item.SetTextColour(colour)
                self.listctrl.SetItem(item)
Antworten