Show one AYTreeView per variant with lazy-loaded fake data.
Source code in ui_preview/tree_view.py
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 | def build_tree_view_preview_widget() -> QtWidgets.QWidget:
"""Show one AYTreeView per variant with lazy-loaded fake data."""
container = QtWidgets.QWidget()
root_lyt = AYVBoxLayout(container, margin=8, spacing=8)
for variant in AYTreeView.Variants:
label = QtWidgets.QLabel(f"variant: {variant.value}")
label.setFixedHeight(20)
root_lyt.addWidget(label)
tv = AYTreeView(variant=variant)
tv.setModel(LazyTreeModel(fetch_children=fetch_children))
tv.setMinimumHeight(160)
root_lyt.addWidget(tv)
tv.selection_changed.connect(
lambda selected, deselected, tv=tv: print(
"selection changed: "
f"Selected {[i.data() for i in selected.indexes()]} "
"and deselected "
f"{[i.data() for i in deselected.indexes()]}) "
"(full selection: "
f"{[i.data() for i in tv.selectedIndexes()]})"
)
)
container.setMinimumWidth(360)
return container
|