2013-01-13 6 views
-1

Y at-il un moyen d'ajouter des numéros de ligne à un widget QListView, je sais que vous pouvez ajouter du texte en utilisant setText() mais seulement un str pas un entier, donc je ne peux pas simplement incrémenter un entier et imprime le. Des idées?QtListView Numéros de ligne

Voici le code:

with open("../content/vulcan.hosts") as new_file: 
      reader = csv.reader(new_file, delimiter='|') 
      for line in reader: 
       i = 1 
       uname = line[0] 
       iface = line[1] 
       macad = line[2] 
       ipad = line[3] 
       type = line[4] 
       item = QtGui.QTreeWidgetItem() 
       item.setFlags(QtCore.Qt.ItemIsUserCheckable) 
       item.setCheckState(0, QtCore.Qt.Unchecked) 
       item.setText(0, str(i)) 
       i = 1 + 1 
       item.setText(1, uname) 
       item.setText(2, iface) 
       item.setText(3, macad) 
       item.setText(4, ipad) 
       item.setText(5, type) 
       item.setText(6, str("asdasd")) 
       item.setText(7, str("asdasda")) 
       item.setText(8, str("asdasd")) 
       self.runTree.addTopLevelItem(item) 
+0

Vous pouvez convertir 'int' en chaînes via' str (i) '. – tacaswell

+0

Pouvez-vous fournir un peu plus de code montrant ce que vous avez essayé? – tacaswell

Répondre

1

Si vous voulez ajouter au texte de l'article, vous pouvez simplement utiliser l'une des façons de Qt pour convertir un entier en une chaîne. Il y a par exemple l'ensemble de méthodes number(...) statique.

int a = 63; 
QString s = QString.number(a); // s == "63" 

Je ne suis pas sûr de ce genre de données que vous travaillez avec cependant, mais peut-être un QListView est pas la meilleure option pour vous. Avez-vous pensé à un QTableView/Widget? Là, vous pouvez ajouter une numérotation des lignes décent.