Je souhaite créer un ListCtrl wxpython. Ainsi, lorsque le bouton de recherche est cliqué, je reçois la liste comme cetteComment remplir wxpython LIstCtrl avec l'événement OnClick
[(7, u'GLUOCOSE', u'C6H1206'), (8, u'SUCROSE', u'C12H22O11')]
Je veux remplir la listctrl avec la sortie ci-dessus. Je suis la méthode InsertStringItem, qui me retournera l'index de la ligne courante et le reste des colonnes sont remplis par la méthode SetStringItem() .Mais cela me donne TypeError: String ou Unicode de type required.Comment accomplir ceci?
def OnSearch(self, event):
placeholder = '?'
placeholders = ','.join(placeholder for unused in self.molecule_list)
query = 'SELECT * FROM MOLECULE WHERE MOL_NUMBER IN (%s)' % placeholders
cursor = self.conn.execute(query, self.molecule_list)
final = cursor.fetchall()
print final
for j in final:
index = self.list.InsertStringItem(sys.maxint, j[0])
self.list.SetStringItem(index, 1, j[1])
self.list.SetStringItem(index, 2, j[2])
Je suis la réponse, mais quand j'essaie cela en utilisant InsertStringItem qui me donne TypeError: String ou le type Unicode requis. et j'insère une chaîne –
Sans pouvoir voir l'erreur ou le listctrl c'est difficile à dire mais la structure devrait être 'InsertStringItem (index, label, imageIndex = -1)'. Utiliser 'sys.maxint' pour chaque' index' est très WRONG. Essayez la méthode 'append', c'est plus simple. –
Pour l'index, initialisez-le avant la boucle à zéro et incrémentez dans la boucle. Cela vous donne une chance de faire fonctionner ce code. –