相关文章推荐
道上混的键盘  ·  code - 演算法筆記·  4 月前    · 
力能扛鼎的路灯  ·  傑洛特 - 萌娘百科 萬物皆可萌的百科全書·  9 月前    · 
读研的作业本  ·  激情信箱 ...·  2 年前    · 
从容的电梯  ·  如何在Solr中使用代码提升搜索结果,使精确 ...·  2 年前    · 
闷骚的弓箭  ·  [2207] 圣华女学院高等部公认竿叔叔 ...·  2 年前    · 
Code  ›  python pyqt5 QTreeWidget 动态添加节点开发者社区
python root pyqt5 qtreewidget
https://cloud.tencent.com/developer/article/1469580
深情的饺子
2 年前
作者头像
用户5760343
0 篇文章

python pyqt5 QTreeWidget 动态添加节点

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > sktj > python pyqt5 QTreeWidget 动态添加节点

python pyqt5 QTreeWidget 动态添加节点

作者头像
用户5760343
发布 于 2019-07-23 11:12:22
4.8K 0
发布 于 2019-07-23 11:12:22
举报

image.png

!/usr/bin/env python3

''' PyQT5中 QTreeWidget 例子

'''

import sys from PyQt5.QtWidgets import *

from PyQt5.QtGui import QIcon , QBrush , QColor

from PyQt5.QtCore import Qt

class TreeWidgetDemo(QWidget): def init (self, parent=None): super(TreeWidgetDemo, self). init (parent) self.setWindowTitle('TreeWidget 例子')

    operatorLayout = QHBoxLayout()
    addBtn = QPushButton("添加节点")
    updateBtn = QPushButton("修改节点")
    delBtn = QPushButton("删除节点")
    operatorLayout.addWidget(addBtn)
    operatorLayout.addWidget(updateBtn)
    operatorLayout.addWidget(delBtn)
    # 按钮的信号槽连接
    addBtn.clicked.connect(self.addTreeNodeBtn)
    updateBtn.clicked.connect(self.updateTreeNodeBtn)
    delBtn.clicked.connect(self.delTreeNodeBtn)
    self.tree = QTreeWidget(self)
    # 设置列数
    self.tree.setColumnCount(2)
    # 设置头的标题
    self.tree.setHeaderLabels(['Key', 'Value'])
    root = QTreeWidgetItem(self.tree)
    root.setText(0, 'root')
    root.setText(1, '0')
    child1 = QTreeWidgetItem(root)
    child1.setText(0, 'child1')
    child1.setText(1, '1')
    child2 = QTreeWidgetItem(root)
    child2.setText(0, 'child2')
    child2.setText(1, '2')
    child3 = QTreeWidgetItem(root)
    child3.setText(0, 'child3')
    child3.setText(1, '3')
    child4 = QTreeWidgetItem(child3)
    child4.setText(0, 'child4')
    child4.setText(1, '4')
    child5 = QTreeWidgetItem(child3)
    child5.setText(0, 'child5')
    child5.setText(1, '5')
    self.tree.addTopLevelItem(root)
    self.tree.clicked.connect(self.onTreeClicked)
    mainLayout = QVBoxLayout(self);
    mainLayout.addLayout(operatorLayout);
    mainLayout.addWidget(self.tree);
    self.setLayout(mainLayout)
def onTreeClicked(self, qmodelindex):
    item = self.tree.currentItem()
    print("key=%s ,value=%s" % (item.text(0), item.text(1)))
def addTreeNodeBtn(self):
    print('--- addTreeNodeBtn ---')
    item = self.tree.currentItem()
    node = QTreeWidgetItem(item)
    node.setText(0, 'newNode')
    node.setText(1, '10')
def updateTreeNodeBtn(self):
    print('--- updateTreeNodeBtn ---')
    item = self.tree.currentItem()
    item.setText(0, 'updateNode')
    item.setText(1, '20')
def delTreeNodeBtn(self):
    print('--- delTreeNodeBtn ---')
    item = self.tree.currentItem()
    root = self.tree.invisibleRootItem()
 
推荐文章
道上混的键盘  ·  code - 演算法筆記
4 月前
力能扛鼎的路灯  ·  傑洛特 - 萌娘百科 萬物皆可萌的百科全書
9 月前
读研的作业本  ·  激情信箱 丁度·巴拉斯的性爱艺术与女性情欲探索_电影_故事_作品
2 年前
从容的电梯  ·  如何在Solr中使用代码提升搜索结果,使精确匹配的结果在词项开头?
2 年前
闷骚的弓箭  ·  [2207] 圣华女学院高等部公认竿叔叔 01_哔哩哔哩bilibili_原神
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号