Создайте иерархическую структуру для dict of dict в pyqt5 [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Создайте иерархическую структуру для dict of dict в pyqt5 [закрыто]

Сообщение Гость »


Предположим, у меня есть словарь

данные = { "Корень": { «Детский1»: «Значение1», «Детский2»: «Значение3» } } В pyqt5 мне нужно создать древовидное представление со строками, соединяющими корень и дочерний элемент, как показано ниже.

Ожидаемый результат:

Корень |___Ребенок1 | |___Значение1 |___Ребенок2 |___Значение2 До сих пор я пытался использовать QTreeView, который создает иерархию, но не мог рисовать линии на уровнях иерархии.
импортировать систему из PyQt5.QtWidgets импортируйте QApplication, QMainWindow, QTreeWidget, QTreeWidgetItem класс TreeViewExample(QMainWindow): защита __init__(сам): супер().__init__() self.initUI() Защиту initUI (сам): self.setWindowTitle("Пример древовидного представления") self.setGeometry(100, 100, 800, 600) self.tree_view = QTreeWidget(сам) self.tree_view.setGeometry(10, 10, 780, 580) self.tree_view.setHeaderHidden(True) # Данные для древовидного представления (словарь) данные = { "Корень": { «Детский1»: «Значение1», «Детский2»: «Значение2» } } self.populate_tree(данные, self.tree_view) Защиту populate_tree (я, данные, родительский_элемент): для ключа значение в data.items(): если isinstance(значение, dict): item = QTreeWidgetItem(parent_item, [ключ]) self.populate_tree(значение, элемент) item.setExpanded(True) # Сохранять родительский элемент развернутым еще: item = QTreeWidgetItem(parent_item, [f"{key}: {value}"]) защита основной(): приложение = QApplication(sys.argv) окно = TreeViewExample() окно.шоу() sys.exit(app.exec_()) если __name__ == '__main__': основной()
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»