Seite 1 von 1

wxListControl

Verfasst: Mittwoch 2. Juni 2010, 09:52
von The Hit-Man
wie kann ich in einem wxListControl Einträge hinzufügen? Im Netz stoße ich immer auf die gleichen Lösungen, aber bei mir scheint das nicht zu laufen. Mein Code sieht bis jetzt so aus:

Code: Alles auswählen

        mywxshowliste = wxshowliste (None, -1, "")
        # daten zum listfeld hinzufügen
        for i in range(4):
			mywxshowliste.list_ctrl_betrag.InsertColumn(i,"Column"+str(i))
			mywxshowliste.list_ctrl_betrag.SetStringItem(i,1,"Hi")
			mywxshowliste.list_ctrl_betrag.SetStringItem(i,2,"there")
			mywxshowliste.list_ctrl_betrag.SetItemData(i,1)
			print i
        mywxshowliste.Show ()
        event.Skip()
eigentlich sollten über die Schleife, Einträge in das Listfeld hinzugefügt werden, aber bei mir werden nur die Headers erstellt und angezeigt. Weiß von Euch jemand rat?

Re: wxListControl

Verfasst: Mittwoch 2. Juni 2010, 10:23
von Rebecca
Die Spalten musst du natuerlich erstmal vorher erstellen:

Code: Alles auswählen

l = wx.ListCtrl(panel, wx.ID_ANY, style=wx.LC_REPORT)
for i in range(2):
    l.InsertColumn(i, "Column"+str(i))
Dann kannst du entweder so einfuegen:

Code: Alles auswählen

for i in range(3):
    l.Append(["a%i" %i, "b%i" %i])
oder so:

Code: Alles auswählen

for i in range(3):
    l.InsertStringItem(i, "a%i" %i)
    l.SetStringItem(i, 1, "b%i" %i)
Beachte, dass du mit der letzten Variante erstmal eine Zeile mit InsertStringItem erzeugen musst, die restlichen Elemente der Zeile dann mit SetStringItem.

Re: wxListControl

Verfasst: Mittwoch 2. Juni 2010, 16:23
von The Hit-Man
Erst mal danke, werde ich sofort ausprobieren. war gerade am überlegen, ob ein grid nicht besser geeignet wäre. Bin mir da gerade nicht sicher, was ich nehmen soll. Hatte mich gerade mal mit dem grid befaßt.

Re: wxListControl

Verfasst: Mittwoch 2. Juni 2010, 19:57
von The Hit-Man
hab aber dann das das ListControl genommen. Hat mit deiner Hilfe ja super hingehauen. Verstehe gar nicht, das die Beispiellösungen im Netz so ganz anders aussahen. Geht doch auch viel einfacher.