| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- from typing import Optional
- from PyQt5.QtCore import QCoreApplication
- from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem
- from .PostgreSQL import PostgreSQL
- class Tree:
- type = ""
- def __init__(
- self,
- type: Optional[str] = ''
- ):
- self.type = type
- def createTree(self, data, parent, parentid):
- if parentid is not None:
- for row in data:
- if row[2] == parentid:
- item = QTreeWidgetItem(parent)
- item.setText(0, row[1])
- item.setText(1, row[0])
- item.setText(2, row[3])
- self.createTree(data, item, row[0])
- else:
- for row in data:
- item = QTreeWidgetItem(parent)
- item.setText(0, row[1])
- item.setText(1, row[0])
- item.setText(2, row[3])
- self.createTree(data, item, row[0])
- def initTreeWidget(self, dbcoon):
- tree = QTreeWidget()
- tree.setStyleSheet("QTreeView::item{padding: 2px;}");
- tree.setColumnCount(3)
- tree.setColumnHidden(1, True)
- tree.setColumnHidden(2, True)
- tree.setObjectName(self.type)
- tree.setHeaderLabels({"名称", "实体数据名称", "数据类型"})
- tree.headerItem().setHidden(True)
- pg = PostgreSQL(schema=dbcoon["schema"], host=dbcoon["host"],
- port=dbcoon["port"],
- user=dbcoon["user"],
- password=dbcoon["password"],
- dbname=dbcoon["dbname"])
- treedata = pg.getZyml()
- self.createTree(treedata, tree, "")
- print(treedata)
- pg.close()
- # __sortingEnabled = tree.isSortingEnabled()
- # tree.setSortingEnabled(True)
- # tree.setSortingEnabled(__sortingEnabled)
- return tree
|