Hi there.
I am trying to display tabular data in a wxListCtrl. What I get from
the script below are only the headers, not the items themselves. The
documentation didnīt help me much; instead I was lost in ListItemIdīs
and different possibilities of inserting items and strings. I am sure
the solution is only one step away, but I need somebody to point in
the direction. Heres the script:
from wxPython.wx import *
class MainWindow(wxFrame):
def __init__(self,parent,id,title):
wxFrame.__init__(self,parent,-1, title,
style=wxDEFAULT_FRAME_STYLE)
self.panel = wxPanel(self,-1)
self.Lctrl = wxListCtrl(self.panel,-1,size=(200,200),style =
wxLC_REPORT)
for i in range(2):
self.Lctrl.InsertColumn(i,"Column"+str(i),format=w xLIST_FORMAT_LEFT,width=100)
self.Lctrl.SetStringItem(i,1,"Hi")
self.Lctrl.SetStringItem(i,2,"there")
self.Lctrl.SetItemData(i,1)
app = wxPySimpleApp()
frame = MainWindow(None, -1, "List Control Test")
frame.Show(1)
app.MainLoop()
Best regards
Peter 3 4837
Piet wrote: Hi there. I am trying to display tabular data in a wxListCtrl. What I get from ...
I hope this clears it up.
from wxPython.wx import *
class MainWindow(wxFrame):
def __init__(self,parent,id,title):
wxFrame.__init__(self,parent,-1, title,
style=wxDEFAULT_FRAME_STYLE)
self.panel = wxPanel(self,-1)
self.Lctrl = wxListCtrl(self.panel,-1,
size=(200,200),style =wxLC_REPORT)
# for i in range(2):
# self.Lctrl.InsertColumn(i, "Column"+str(i),
# format=wxLIST_FORMAT_LEFT,width=100)
# self.Lctrl.SetStringItem(i,1,"Hi")
# self.Lctrl.SetStringItem(i,2,"there")
# self.Lctrl.SetItemData(i,1)
self.Lctrl.InsertColumn(0, "Name")
self.Lctrl.InsertColumn(1, "ID")
self.Lctrl.InsertColumn(2, "Spam Level")
people = [["George", "3t4d3", "5"],
["Beth", "34g245", "3"],
["Zaphod", "424242", "42"]]
# Notice you use InsertStringItem for the first item
# in the row and then use SetStringItem for the rest
for index, (name, id, spam) in enumerate(people):
self.Lctrl.InsertStringItem(index, name)
self.Lctrl.SetStringItem(index, 1, id)
self.Lctrl.SetStringItem(index, 2, spam)
app = wxPySimpleApp()
frame = MainWindow(None, -1, "List Control Test")
frame.Show(1)
app.MainLoop()
Best regards
Peter
Ditto,
greg
Piet wrote: Hi there. I am trying to display tabular data in a wxListCtrl. What I get from the script below are only the headers, not the items themselves. The documentation didnīt help me much; instead I was lost in ListItemIdīs and different possibilities of inserting items and strings. I am sure the solution is only one step away, but I need somebody to point in the direction. Heres the script:
from wxPython.wx import * class MainWindow(wxFrame): def __init__(self,parent,id,title): wxFrame.__init__(self,parent,-1, title, style=wxDEFAULT_FRAME_STYLE) self.panel = wxPanel(self,-1) self.Lctrl = wxListCtrl(self.panel,-1,size=(200,200),style = wxLC_REPORT) for i in range(2): self.Lctrl.InsertColumn(i,"Column"+str(i),format=w xLIST_FORMAT_LEFT,width=100) self.Lctrl.SetStringItem(i,1,"Hi") self.Lctrl.SetStringItem(i,2,"there") self.Lctrl.SetItemData(i,1)
app = wxPySimpleApp() frame = MainWindow(None, -1, "List Control Test") frame.Show(1) app.MainLoop()
Best regards
Peter
Mixing rows and columns ?
for i in range(2): self.Lctrl.InsertColumn(i,"Column"+str(i),format=w xLIST_FORMAT_LEFT,width=100) self.Lctrl.SetStringItem(i,1,"Hi") self.Lctrl.SetStringItem(i,2,"there") self.Lctrl.SetItemData(i,1)
# Create 2 columns
for i in range(2):
self.Lctrl.InsertColumn(i,"Column"+str(i),
format=wxLIST_FORMAT_LEFT,width=100)
# Add 6 rows of data
for i in range(6):
self.Lctrl.InsertStringItem(i,"Hi") # Col 0
self.Lctrl.SetStringItem(i,1,"there") # Col 1
self.Lctrl.SetItemData(i,1) http://wiki.wxpython.org/index.cgi/ListControls
Cheers,
// moma http://www.futuredesktop.org
Shame on me....
Looks like as if wanted to populate a non-existing column with data.
Anyway, now evrything is working properly. Many, many thanks! That helped me a lot.
Piet This discussion thread is closed Replies have been disabled for this discussion. Similar topics
1 post
views
Thread by Krzysztof Kaczkowski |
last post: by
|
1 post
views
Thread by Mark Carter |
last post: by
|
5 posts
views
Thread by Andrew |
last post: by
|
reply
views
Thread by Sven Tissot |
last post: by
|
9 posts
views
Thread by tshad |
last post: by
|
reply
views
Thread by David Poundall |
last post: by
|
2 posts
views
Thread by sree reddy |
last post: by
|
16 posts
views
Thread by Andrea Gavana |
last post: by
| | | | | | | | | | | |