TreeWidget.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from PyQt5.QtCore import QCoreApplication
  2. from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem
  3. from processing.tools.PostgreSQL.PostgreSQL import PostgreSQL
  4. class Tree:
  5. type = ""
  6. def __init__(
  7. self,
  8. type: str
  9. ):
  10. self.type = type
  11. def createTree(self,data, parent, parentid):
  12. if parentid is not None:
  13. for row in data:
  14. if row[2] == parentid:
  15. item = QTreeWidgetItem(parent)
  16. item.setText(0, row[1])
  17. item.setText(1, row[0])
  18. self.createTree(data, item, row[0])
  19. else:
  20. for row in data:
  21. item = QTreeWidgetItem(parent)
  22. item.setText(0, row[1])
  23. item.setText(1, row[0])
  24. self.createTree(data, item, row[0])
  25. def initTreeWidget(self):
  26. tree = QTreeWidget()
  27. tree.setColumnCount(2)
  28. tree.setColumnHidden(1, True) # 隐藏路径列
  29. tree.setObjectName(self.type)
  30. tree.setHeaderLabels({"标识码", "名称"})
  31. tree.headerItem().setHidden(True)
  32. pg = PostgreSQL(schema="base")
  33. if self.type == "zyml":
  34. treedata = pg.getZyml()
  35. self.createTree(treedata, tree, "")
  36. elif self.type == "xzqh":
  37. treedata = pg.getXzqh()
  38. self.createTree(treedata, tree, "")
  39. # print(treedata)
  40. pg.close()
  41. __sortingEnabled = tree.isSortingEnabled()
  42. tree.setSortingEnabled(True)
  43. tree.setSortingEnabled(__sortingEnabled)
  44. return tree