from PyQt5.QtWidgets import (QMainWindow, QTreeWidget,
QTreeWidgetItem, QApplication)
from PyQt5.QtGui import QIcon, QPixmap
import sys
class TreeWidget(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.setMinimumHeight(600)
self.setMinimumWidth(400)
self.setWindowTitle('树形导航')
# 创建一个QTreeWidget部件
self.tree = QTreeWidget()
# 设置部件的列数为1
self.tree.setColumnCount(1)
# 设置头部信息,因为上面设置列数为2,所以要设置两个标识符
# self.tree.setHeaderLabels(['节点名称'])
# 设置表头信息:隐藏表头
self.tree.setHeaderHidden(1)
# 设置root和root2为self.tree的子树,所以root和root2就是跟节点
root = QTreeWidgetItem(self.tree)
root2 = QTreeWidgetItem(self.tree)
# 设置root节点的打开/关闭状态下的不同的图片
icon = QIcon()
# 节点打开状态
icon.addPixmap(QPixmap("./folder open.png"), QIcon.Normal, QIcon.On)
# 节点关闭状态
icon.addPixmap(QPixmap("./folder closed.png"), QIcon.Normal, QIcon.Off)
root.setIcon(0, icon)
# 设置根节点的名称
root.setText(0, '第一节点')
root2.setText(0, '第二节点')
# 为root节点设置子结点
child1 = QTreeWidgetItem(root)
# 设置child1节点的图片
icon2 = QIcon()
icon2.addPixmap(QPixmap("./Original Point.png"), QIcon.Normal)
child1.setIcon(0, icon2)
child1.setText(0, 'child1')
# child1.setText(1, 'name1')
child2 = QTreeWidgetItem(root)
# 设置child2节点的图片
child2.setIcon(0, icon2)
child2.setText(0, 'child2')
# child2.setText(1, 'name2')
child3 = QTreeWidgetItem(root)
# 设置child3节点的打开 / 关闭状态下的不同的图片
child3.setIcon(0, icon)
child3.setText(0, 'child3')
child4 = QTreeWidgetItem(child3)
# 设置child4节点的图片
child4.setIcon(0, icon2)
child4.setText(0, 'child4')
# child4.setText(1, 'name4')
# 为root2节点设置子结点
child1 = QTreeWidgetItem(root2)
child1.setText(0, 'child1')
# child1.setText(1, 'name1')
child2 = QTreeWidgetItem(root2)
child2.setText(0, 'child2')
# child2.setText(1, 'name2')
child3 = QTreeWidgetItem(root2)
child3.setText(0, 'child3')
child4 = QTreeWidgetItem(child3)
child4.setText(0, 'child4')
# child4.setText(1, 'name4')
# self.tree.addTopLevelItem(root)
# self.tree.addTopLevelItem(root2)
# 将QTreeWidget部件设置为该QMainWindow窗口的核心框架
self.setCentralWidget(self.tree)
app = QApplication(sys.argv)
# app.aboutToQuit.connect(app.deleteLater)
tp = TreeWidget()
tp.show()
app.exec_()
higher80
- 粉丝: 114
- 资源: 34
最新资源
- 多微网优化模型matlab 采用粒子群算法分析两个微网的优化调度,得到蓄电池,发电机以及微网间功率传输,程序有参考资料
- 潮流计算程序matlab 牛拉法 采用matlab对9节点进行潮流计算,采用牛拉法,程序运行可靠
- 微网优化调度matlab 采用matlab+yalmip编制含分布式和储能的微网优化模型,程序采用15分钟为采集节点,利用cplex求解,程序考虑发电机的启停约束,程序运行可靠
- PMSM永磁同步电机仿真三电平SVPWM矢量控制matlab PMSM双环矢量控制传统三电平
- 路径规划人工势场法以及改进人工势场法matlab代码,包含了
- MobaXterm 是一款功能强大且实用的终端仿真器软件.docx
- 三菱FX3U底层源码,PLSR源码 总体功能和指令可能支持在RUN中下载程序,支持注释的写入和读取,支持脉冲输出与定位指令(包括PLSY PWM PLSR PLSV DRVI DRVA 等指令
- Oracle Database Gateways for Win32-11gR2
- python071基于RSA加密算法软件的研究设计
- 成熟量产低压无刷伺服驱动 方案 全套软硬件资料 源码 原理图 需要的直接拿 基于28035平台
- 欧姆龙PLC ST语言6轴伺服RS232C通讯板CP1W-C IF0 真实项目程序,ST语言写的FB块 PLC用是两台CP1H-X40DT-D配置4块RS232C通讯板CP1W-CIF01 触摸屏是N
- 欧姆龙CP1H与力士乐VFC-x610变频器通讯程序功能:原创程序,可直接用于现场程序 欧姆龙CP1H的CIF11通讯板,实现对力士乐VFC-x610变频器 设定频率,控制正反转,读取实际频率,读取
- 级联型电力电子变压器,高压直流MMC控制系统,级联数可选,调 制方式有移相载波,nlm及混合调制,拥有冒泡排序,递归排序等方法,可控制三相不平衡与环流
- 西门子PLC双轴定位算法电池焊接控制程序-S7-1200 +威纶通触摸屏 S7-1200PLC做的电池焊接程序,电池包里面有n*m行列个电池 程序设计灵活SCL语言+梯形图,采用了位置试教与定位路径规
- 变压器副边突然短路simulink仿真
- MATLAB代码:基于模型预测控制的楼宇负荷需求响应研究 关键词:楼宇负荷 空调 模型预测控制 需求响应 仿真平台:MATLAB+CVX平台 主要内容:代码主要做的是一个建筑楼宇的需求响应问题,首
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈