Пример #1
0
    def build_tree_populate(self, data=None):
        self.build_lifts.clear()
        if not isinstance(data, pd.DataFrame):
            data = self.db.lift_types
        dat = data.reset_index()
        root_children = []
        for cat, cat_group in dat.groupby('Category', as_index=True, sort=False):
            root_child = QTreeWidgetItem()
            root_child.setText(0, cat)
            root_child.setBackground(0, Theme.gray_brush)
            root_child.setBackground(1, Theme.gray_brush)

            lift_children = []
            for lift, _ in cat_group.groupby('Lift'):
                lift_child = QTreeWidgetItem()
                lift_child.setText(1, lift)
                lift_children.append(lift_child)

            root_child.insertChildren(1, lift_children)
            root_children.append(root_child)

        self.build_lifts.setColumnCount(2)
        self.build_lifts.insertTopLevelItems(0, root_children)
        self.build_lifts.expandAll()