from PyQt5.QtWidgets importQApplication, QMainWindow, QFileDialogfrom PyQt5 importQtCore, QtGui, QtWidgetsimporttreeview4importtreeview_dataimportsysclassMainCode(QMainWindow, treeview4.Ui_MainWindow):def __init__(self):
QMainWindow.__init__(self)
treeview4.Ui_MainWindow.__init__(self)
self.setupUi(self)#设置列宽
self.treeWidget.setColumnWidth(0, 200)
_translate=QtCore.QCoreApplication.translate
self.initial_tree_view(_translate)
self.treeWidget.expandAll()definitial_tree_view(self, _translate):
list_objects=[]
test1=treeview_data.DataCollection()
test1.set_module({"Test1": "waiting"})
test1.add_item({"a1": "waiting"})
test1.add_item({"b1": "waiting"})
test1.add_item({"c1": "waiting"})
list_objects.append(test1)
test2=treeview_data.DataCollection()
test2.set_module({"Test2": "waiting"})
test2.add_item({"a2": "waiting"})
test2.add_item({"b2": "waiting"})
test2.add_item({"c2": "waiting"})
test2.add_item({"d2": "waiting"})
list_objects.append(test2)
test3=treeview_data.DataCollection()
test3.set_module({"Test3": "waiting"})
test3.add_item({"a2": "waiting"})
test3.add_item({"b2": "waiting"})
test3.add_item({"c2": "waiting"})
test3.add_item({"d2": "waiting"})
list_objects.append(test3)for object_num, object_module inenumerate(list_objects):
item_0=QtWidgets.QTreeWidgetItem(self.treeWidget)
brush= QtGui.QBrush(QtGui.QColor(176, 165, 172))
brush.setStyle(QtCore.Qt.SolidPattern)
item_0.setBackground(0, brush)for module_name, module_result inobject_module.module.items():
brush= QtGui.QBrush(QtGui.QColor(0, 255, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
item_0.setBackground(1, brush)
self.treeWidget.topLevelItem(object_num).setText(0, _translate("MainWindow", module_name))
self.treeWidget.topLevelItem(object_num).setText(1, _translate("MainWindow", module_result))for item_num, item_dic inenumerate(object_module.items):for item_name, item_result initem_dic.items():
item_1=QtWidgets.QTreeWidgetItem(item_0)
self.treeWidget.topLevelItem(object_num).child(item_num).setText(0, _translate("MainWindow",
item_name))
self.treeWidget.topLevelItem(object_num).child(item_num).setText(1, _translate("MainWindow",
item_result))if __name__ == "__main__":
app=QApplication(sys.argv)
md=MainCode()
md.show()
app.exec_()#sys.exit(app.exec_())