Si je définis le format de la première colonne dans un ListCtrl pour aligner le centre (ou aligner à droite) rien ne se passe. Cela fonctionne pour les autres colonnes.Impossible de formater la première colonne dans ListCtrl de WxPython
Cela ne se produit que sur Windows - Je l'ai testé sous Linux et cela fonctionne très bien. Est-ce que quelqu'un sait s'il existe une solution de rechange ou autre?
Voici un exemple basé sur le code trouvé à http://zetcode.com/wxpython/
import wx
import sys
packages = [('jessica alba', 'pomona', '1981'), ('sigourney weaver', 'new york', '1949'),
('angelina jolie', 'los angeles', '1975'), ('natalie portman', 'jerusalem', '1981'),
('rachel weiss', 'london', '1971'), ('scarlett johansson', 'new york', '1984')]
class Actresses(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(380, 230))
hbox = wx.BoxSizer(wx.HORIZONTAL)
panel = wx.Panel(self, -1)
self.list = wx.ListCtrl(panel, -1, style=wx.LC_REPORT)
self.list.InsertColumn(0, 'name', wx.LIST_FORMAT_CENTRE,width=140)
self.list.InsertColumn(1, 'place', wx.LIST_FORMAT_CENTRE,width=130)
self.list.InsertColumn(2, 'year', wx.LIST_FORMAT_CENTRE, 90)
for i in packages:
index = self.list.InsertStringItem(sys.maxint, i[0])
self.list.SetStringItem(index, 1, i[1])
self.list.SetStringItem(index, 2, i[2])
hbox.Add(self.list, 1, wx.EXPAND)
panel.SetSizer(hbox)
self.Centre()
self.Show(True)
app = wx.App()
Actresses(None, -1, 'actresses')
app.MainLoop()
Je remarque le même comportement dans votre exemple et dans mon application. Peut-être que c'est une limitation de la plate-forme Windows - voyez si vous pouvez trouver d'autres programmes avec une liste avec une première colonne alignée? –