程序代码:
from PyQt5.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem
import sys
class MyTreeWidget(QTreeWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setHeaderLabels(['Name', 'Type'])
self.addTopLevelItems(self.create_items())
def create_items(self):
items = []
top_items = ['单位号' , '单位名称' , '上级单位号']
sub_items = {
"TM": {"name": "公司1", "parent": "A"},
"TM10": {"name": "公司2", "parent": "TM"},
"TM11": {"name": "公司3", "parent": "TM10"},
"TM12": {"name": "公司4", "parent": "TM10"},
"TM91": {"name": "公司5", "parent": "TM"},
"A": {"name": "XX任公司", "parent": ""},
"K": {"name": "公司6", "parent": "A"},
"K00": {"name": "公司7", "parent": "K"},
"K10": {"name": "公司8", "parent": "K00"},
"K11": {"name": "公司9", "parent": "K10"},
"K12": {"name": "公司10", "parent": "K10"},
"K13": {"name": "公司11", "parent": "K10"},
"K15": {"name": "公司12", "parent": "K10"},
"K30": {"name": "公司13", "parent": "K00"},
"K31": {"name": "公司14", "parent": "K30"},
"K311": {"name": "公司15", "parent": "K31"},
"K312": {"name": "公司16", "parent": "K31"},
"K313": {"name": "公司17", "parent": "K31"},
"K34": {"name": "公司18", "parent": "K30"},
"K36": {"name": "公司19", "parent": "K30"},
"K37": {"name": "公司20", "parent": "K30"},
"K50": {"name": "公司21", "parent": "K00"},
"K51": {"name": "公司22", "parent": "K50"},
"K53": {"name": "公司23", "parent": "K50"},
"K55": {"name": "公司24", "parent": "K50"},
"K80": {"name": "公司25", "parent": "K"},
"K81": {"name": "公司26", "parent": "K80"},
"K82": {"name": "公司27", "parent": "K80"},
"K83": {"name": "公司28", "parent": "K80"},
"K831": {"name": "公司29", "parent": "K83"},
"K832": {"name": "公司30", "parent": "K83"},
"K833": {"name": "公司31", "parent": "K83"},
"K834": {"name": "公司32", "parent": "K83"},
"K839": {"name": "公司33", "parent": "K83"},
"K84": {"name": "公司34", "parent": "K80"},
"K841": {"name": "公司35", "parent": "K84"},
"K842": {"name": "公司36", "parent": "K84"},
"K843": {"name": "公司37", "parent": "K84"},
"K85": {"name": "公司38", "parent": "K80"},
"K851": {"name": "公司39", "parent": "K85"},
"K852": {"name": "公司40", "parent": "K85"},
"K858": {"name": "公司41", "parent": "K851"},
"K859": {"name": "公司42", "parent": "K851"},
"K86": {"name": "公司43", "parent": "K80"},
"K861": {"name": "公司44", "parent": "K86"},
"K862": {"name": "公司45", "parent": "K86"},
"K87": {"name": "公司46", "parent": "K80"},
"K871": {"name": "公司47", "parent": "K87"},
"K872": {"name": "公司48", "parent": "K87"},
"K88": {"name": "公司49", "parent": "K80"},
"K89": {"name": "公司50", "parent": "K80"},
"K891": {"name": "公司51", "parent": "K89"},
"K892": {"name": "公司52", "parent": "K89"},
"K893": {"name": "公司53", "parent": "K89"},
"K91": {"name": "公司54", "parent": "K80"},
"K92": {"name": "公司55", "parent": "K80"},
"K99": {"name": "公司56", "parent": "K"},
"L": {"name": "公司57", "parent": "A"},
"L00": {"name": "公司58", "parent": "L"},
"L10": {"name": "公司59", "parent": "L19"},
"L11": {"name": "公司60", "parent": "L70"},
"L12": {"name": "公司61", "parent": "L00"},
"L13": {"name": "公司62", "parent": "L00"},
"L14": {"name": "公司63", "parent": "L00"},
"L16": {"name": "公司64", "parent": "L00"},
"L18": {"name": "公司65", "parent": "L00"},
"L19": {"name": "公司66", "parent": "L00"},
"L190": {"name": "公司67", "parent": "L19"},
"L31": {"name": "公司68", "parent": "L00"},
"L32": {"name": "公司69", "parent": "L00"},
"L33": {"name": "公司70", "parent": "L00"},
"L34": {"name": "公司71", "parent": "L00"},
"L37": {"name": "公司72", "parent": "L00"},
"L40": {"name": "公司73", "parent": "L00"},
"L41": {"name": "公司74", "parent": "L00"},
"L45": {"name":
for top_item in top_items:
item = QTreeWidgetItem([top_item, 'Top Level'])
for sub_item in sub_items.get(top_item, []):
sub_item = QTreeWidgetItem([sub_item, 'Sub Level'])
item.addChild(sub_item)
items.append(item)
return items
if __name__ == '__main__':
app = QApplication(sys.argv)
tree = MyTreeWidget()
tree.show()
sys.exit(app.exec_())
该代码定义了一个名为MyTreeWidget的自定义QTreeWidget类,并在其中创建了一个create_items()方法,该方法返回一个QTreeWidgetItem对象列表,其中包含所有的顶级和子级项目。然后,将其添加到QTreeWidget中。
在该示例中,我们创建了三个顶级项目,每个项目下面有三个子级项目。我们使用QTreeWidgetItem类创建项目,并使用addChild()方法将子级项目添加到其相应的父级项目中。
我们还设置了QTreeWidget的标题标签,并将树中的所有项目添加到顶级项目中。
最后,我们执行应用程序并显示树。