Source code for AlphaHooks.widgets.collections
from PyQt5.QtCore import QObject
from PyQt5.QtWidgets import QTreeWidgetItem, QWidget
[docs]class Populate(QObject):
"""
General class used for adding items to different widgets.
"""
def __init__(self, parent=None, display=None):
super(Populate, self).__init__(parent)
self.display = display
self.index = -1
[docs] def tree_widget(self, tree, structure):
"""
Used to traverse a QTreeWidget and adding the items in a
dict or list.
:param tree: pass a QTreeWidget instance
:param structure: pass a dictionary
"""
if type(structure) is dict:
for key, val in structure.items():
child = QTreeWidgetItem()
child.setText(0, key)
tree.addChild(child)
self.tree_widget(child, val)
elif type(structure) is str:
child = QTreeWidgetItem()
child.setText(0, structure)
tree.addChild(child)
elif isinstance(structure, QWidget):
self.index += 1
tree.setText(1, str(self.index))
self.display.addWidget(structure)