python - how to make multiline wx.ListBox -


i need listbox show phone book.then need show name in top , number in bottom in each list item phone.how bind datas listbox.

now made listbox singleline shown below

    cur.execute("select fname tblsample1 order fname")     names = [str(item[0]) item in cur.fetchall()]     lvnames=wx.listbox(panel,-1,(10,40),(210,180),names, wx.lb_single) 

how bind sqlite3 cursor 2 columns listview

i need wx.listbox mouse click event(not evt_listbox because need mouse click event)

use htmllistbox, here little example started.

import wx   class phonenumbers(wx.htmllistbox):     def __init__(self, parent):         wx.htmllistbox.__init__(self, parent)         self.data = [             ("foo", "3452-453"),             ("bar", "5672-346"),         ]         self.setitemcount(len(self.data))      def ongetitem(self, n):         return "<b>%s</b><br>%s" % self.data[n]      def add_number(self, name, number):         self.data.append((name, number))         self.setitemcount(len(self.data))         self.refresh()   class frame(wx.frame):     def __init__(self):         wx.frame.__init__(self, none, size=(200, 400))          self.numbers = phonenumbers(self)         self.contact_name = wx.textctrl(self)         self.contact_number = wx.textctrl(self)         self.add_btn = wx.button(self, label="add contact")          self.sizer = wx.boxsizer(wx.vertical)         self.sizer.add(self.numbers, 1, wx.expand)         self.sizer.add(wx.searchctrl(self), 0, wx.expand)         self.sizer.add(wx.statictext(self, label="name"), 0, wx.top, 10)         self.sizer.add(self.contact_name)         self.sizer.add(wx.statictext(self, label="number"), 0, wx.top, 5)         self.sizer.add(self.contact_number)         self.sizer.add(self.add_btn, 0, wx.all, 10)          self.numbers.bind(wx.evt_listbox, self.onselectnumber)         self.add_btn.bind(wx.evt_button, self.onaddnumber)      def onselectnumber(self, event):         name, number = self.numbers.data[event.selection]         self.contact_name.value = name         self.contact_number.value = number      def onaddnumber(self, event):         self.numbers.add_number(             self.contact_name.value,             self.contact_number.value         )   app = wx.pysimpleapp() app.topwindow = f = frame() f.show() app.mainloop() 

Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -