Beispiel für QtreeWidget mit Checkboxen
Verfasst: Samstag 15. Oktober 2011, 01:59
Hallo, nachdem ich ein wenig daran herumgewerkelt habe, ein QtreeWidget inklusive Ceckboxen zu erstellen und danach alle Einträge mit geklickter checkbox,über den QTreeWidgetItemIterator auszugeben, möchte ich ein vereinfachten Teil des Codes hier veröffentlichen, in der Hoffnung, dass jemand anderem mal helfen wird.
Der Code ist so natürlich nicht lauffähig, da er nur einen Ausschnitt einer Klasse darstellt.
Liebe Grüße
Der Code ist so natürlich nicht lauffähig, da er nur einen Ausschnitt einer Klasse darstellt.
Code: Alles auswählen
#QtreeWidget mit Daten füllen
#Anzahl der Spalten inkl. der Überschriften (Header) festlegen
self.my_tree_widget.setColumnCount(5)
self.my_tree_widget.setHeaderLabels([u' ',u'Name', u'Vorname', u'Adresse', u'Telefonnummer'])
# QTreeWidgetItem erstellen - Es werden die Daten aus einer Liste benutzt
for i in liste:
itemVoc = QtGui.QTreeWidgetItem(self.my_tree_widget)
itemVoc.setText(0,'')
itemVoc.setText(1,i[1])
itemVoc.setText(2,i[2])
itemVoc.setText(3,i[3])
itemVoc.setText(4,i[4])
# Der ersten Spalte die Checkboxen zuweisen und anschließend den Status dieser festlegen
itemVoc.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsEditable | Qt.ItemIsEditable | Qt.ItemIsEditable)
itemVoc.setCheckState(0, Qt.Checked)
self.my_tree_widget.insertTopLevelItem(0, itemVoc)
#Spaltengröße anpassen
self.my_tree_widget.setColumnWidth(0,45)
self.my_tree_widget.setColumnWidth(1,300)
self.my_tree_widget.setColumnWidth(2,300)
self.my_tree_widget.setColumnWidth(3,70)
self.my_tree_widget.setColumnWidth(4,70)
# Die Zeilen mit ausgewählter Checkox ausgeben
def widget_inhalt_ausgeben(self):
it = QtGui.QTreeWidgetItemIterator(self.my_tree_widget,QTreeWidgetItemIterator.Checked)
while it.value():
item = it.value()
erste_spalte = unicode(item.text(1))
print erste_spalte
it += 1