Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Utilisation d'un QTreeWidget

Salut à tous,

J'utilise un QTreeWidget dans mon application.
Je le rempli de cette manière :
def addNodeToTreeview(self, data):
self.panelInfoPatientUi.treeWidgetDevices.clear()
for item in data:
mainWidgetItem = QtGui.QTreeWidgetItem(self.panelInfoPatientUi.treeWidgetDevices)
widgetContainer = QtWidgets.QWidget()
widgetContainer.setObjectName("widgetContainer")
deviceWidget = Ui_DeviceListviewWidget()
deviceWidget.setupUi(widgetContainer)

deviceWidget.labelSerialNumber.setText(item.serialNumber)
deviceWidget.labelModel.setText(item.model)
deviceWidget.labelInstallationDate.setText(item.installDate)

mainWidgetItem.setSizeHint(0, widgetContainer.sizeHint())

self.panelInfoPatientUi.treeWidgetDevices.addTopLevelItem(mainWidgetItem)
self.panelInfoPatientUi.treeWidgetDevices.setItemWidget(mainWidgetItem, 0, widgetContainer)

for files in item.listFile:
#Files
fileWidgetItem = QtGui.QTreeWidgetItem(mainWidgetItem)
widgetContainerFiles = QtWidgets.QWidget()
widgetContainerFiles.setObjectName("widgetContainerFiles")
fileWidget = Ui_FileListWidgetItem()
fileWidget.setupUi(widgetContainerFiles)

fileWidget.labelFileName.setText(files.fileName)
fileWidget.labelDateFile.setText(files.dateFile)

fileWidgetItem.setSizeHint(0, widgetContainerFiles.sizeHint())
mainWidgetItem.addChild(fileWidgetItem)
self.panelInfoPatientUi.treeWidgetDevices.setItemWidget(fileWidgetItem, 0, widgetContainerFiles)
Lorsque je connecte l’événement click sur un item de mon TreeWidget a une méthode, je n'arrive pas à accéder aux éléments de mes QTreeWidgetIem.
L'objet fileWidget contient des labels, et j'aimerais récupérer les données contenues dans ceux-ci.

J'ai essayer plein de méthode mais je n'arrive pas accéder a mes données. J'arrive bien a récupérer ce que je crois être le widgetContainerFiles donc mon conteneur. mais comment accéder a mes données ?
Voici ce que j'ai essayé jusqu’à maintenant :

def testest(self, item, col):

#print(str(item.treeWidget().itemWidget(item, col).labelSerialNumber.text()))

print(str(item.treeWidget().itemWidget(item, col)))
#print(self.view.panelInfoPatientUi.treeWidgetDevices.itemWidget(item, 0))
#print(str(self.view.panelInfoPatientUi.treeWidgetDevices.itemWidget(item, 0).parentWidget()))

#print([method for method in dir(item) if callable(getattr(item, method))])
#print(str(item.ItemType()))
#print(str(item.text(col)))
#print(str(item.child(0)))
#print(str(item.childCount()))
#print(str(item.child(1).text(0)))

#print(str(self.view.panelInfoPatientUi.treeWidgetDevices.currentItem()))
# titi = .itemWidget(item, columnIndex)
# print(str(titi))
# titi.text(0)
# titi.data()
#print(str(titi.labelFileName.text()))

'''selectedItems = self.view.panelInfoPatientUi.treeWidgetDevices.selectedItems()
for selectedItem in selectedItems:
print(str(selectedItem.text(0)))
print(str(selectedItem.text(1)))
print(str(selectedItem.text(2))) '''

'''
print(item.data(1, 0))
print("column count " + str(data.columnCount()))
print("AHYAAAAAAAAAA")'''
Merci d'avance pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.