Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ExtendedTreeWidgetItem(QTreeWidgetItem):
- def __init__(self, *args, **kwargs):
- super(ExtendedTreeWidgetItem, self).__init__(*args, **kwargs)
- self.rescueFile = None
- def setRescueFile(self, rFile):
- self.rescueFile = rFile
- def getRescueFile(self):
- return self.rescueFile
- class RescueFile:
- def __init__(self, path):
- self.path = path
- self.ischecked = True
- def isChecked(self):
- return self.ischecked
- def setChecked(self, checked):
- if isinstance(checked, bool):
- self.ischecked = checked
- elif isinstance(checked, Qt.CheckState):
- self.ischecked = True if checked == Qt.Checked else False
- print(self.path, self.ischecked)
- ****
- ...
- self.treeWidget.itemChanged.connect(self.singleClickTreeWidget)
- ...
- ****
- def singleClickTreeWidget(self, widgetItem, column):
- parent = widgetItem.parent()
- if parent and parent.checkState(0) == Qt.Unchecked:
- widgetItem.setCheckState(0, Qt.Unchecked)
- return
- checkState = widgetItem.checkState(0)
- widgetItem.setCheckState(0, checkState)
- rescue_file = widgetItem.getRescueFile()
- **# I CAN GET THE RESCUE FILE OBJECT HERE FROM**
- if rescue_file:
- rescue_file.setChecked(checkState)
- self.iterateThroughChildren(widgetItem, checkState)
- def iterateThroughChildren(self, item, checkState):
- for i in range(item.childCount()):
- child = item.child(i)
- child.setCheckState(0, checkState)
- **# I CAN'T GET ANY FIND HERE ANYMORE**
- rescue_file = item.getRescueFile()
- if rescue_file:
- rescue_file.setChecked(checkState)
- else:
- self.iterateThroughChildren(child, checkState)
Add Comment
Please, Sign In to add comment