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_()
没有合适的资源?快使用搜索试试~ 我知道了~
Python3.x+Pyqt5实现界面左侧树形导航栏
共9个文件
xml:4个
png:3个
py:1个
3星 · 超过75%的资源 需积分: 39 228 下载量 114 浏览量
2018-07-30
11:00:27
上传
评论 9
收藏 7KB RAR 举报
温馨提示
Python3.x+Pyqt5实现界面左侧树形导航栏;主要用到的工具是Pyqt5的QTreeWidget。
资源推荐
资源详情
资源评论
收起资源包目录
wangyong_11.rar (9个子文件)
wangyong_11
folder closed.png 821B
test_06.py 3KB
Original Point.png 594B
.idea
wangyong_11.iml 459B
misc.xml 213B
modules.xml 274B
workspace.xml 20KB
inspectionProfiles
profiles_settings.xml 228B
folder open.png 855B
共 9 条
- 1
资源评论
- 绿叶清风2019-08-27没有右边部份啊
- jkf_186752345182019-01-03再看看行不行,刚下载有点问题
- dong198620032019-12-22这个简直了,太简单了,啥功能都没有实现
higher80
- 粉丝: 114
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功