PyQt--QTreeWidget
转载:loster_Li
QTreeWidget的继承关系如下图:
因为继承关系是 QAbstractItemView->QTreeView->QTreeWidget ,所以和QTableWidget很多地方是类似的。
如果需要特定的模式,如显示硬盘信息及内部文件的 dir模式等,都需要用QTreeView,而不是用 QTreeWidget。和 QTableWidget类似,一般步骤是先创建一个 QTreeWidget实例,然后设置列数,然后再添加 。
- import sys
- from PyQt4.QtGui import *
- class TreeWidget(QMainWindow):
- def __init__(self):
- super(TreeWidget, self).__init__()
- self.setWindowTitle('TreeWidget')
- self.tree = QTreeWidget() # 实例化一个TreeWidget对象
- self.tree.setColumnCount(2) # 设置部件的列数为2
- self.tree.setHeaderLabels(['Key', 'Value']) # 设置头部信息对应列的标识符
- # 设置root为self.tree的子树,故root是根节点
- root = QTreeWidgetItem(self.tree)
- root.setText(0, 'root') # 设置根节点的名称
- # 为root节点设置子结点
- child1 = QTreeWidgetItem(root)
- child1.setText(0, 'child1')
- child1.setText(1, 'name1')
- child2 = QTreeWidgetItem(root)
- child2.setText(0, 'child2')
- child2.setText(1, 'name2')
- child3 = QTreeWidgetItem(root)
- child3.setText(0, 'child3')
- child4 = QTreeWidgetItem(child3)
- child4.setText(0, 'child4')
- child4.setText(1, 'name4')
- self.tree.addTopLevelItem(root)
- self.setCentralWidget(self.tree) # 将tree部件设置为该窗口的核心框架
- app = QApplication(sys.argv)
- app.aboutToQuit.connect(app.deleteLater)
- tp = TreeWidget()
- tp.show()
- app.exec_()
运行结果如下:
- import sys
- from PyQt4 import QtGui
- # 直接运行程序时的入口
- if __name__ == "__main__":
- app = QtGui.QApplication(sys.argv)
- app.aboutToQuit.connect(app.deleteLater)
- model = QtGui.QDirModel() # Windows系统提供的模式
- tree = QtGui.QTreeView() # 实例化一个QtreeView对象
- tree.setModel(model) # 为部件添加模式
- tree.setWindowTitle(tree.tr("Dir View"))
- tree.resize(640, 480)
- tree.show()
- sys.exit(app.exec_())
运行结果如下:
PyQt--QTreeWidget的更多相关文章
- pyqt QTreeWidget例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from Py ...
- 第15.27节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTreeWidget详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 树部件(Tree Widget)是Qt Designer中 Item Widgets(It ...
- PyQt(Python+Qt)学习随笔:QTreeWidget中标题相关属性访问方法headerItem、setHeaderLabels
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件窗口可以有一个标题头,其中包含部件中每个列的节(即标题).QTreeWidget的标题属性包 ...
- PyQt(Python+Qt)学习随笔:QTreeWidget中获取指定位置项的itemAt方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeWidget的itemAt方法通过视口内的坐标点获取对应坐标位置的项,相关调用方法如下: ...
- PyQt(Python+Qt)学习随笔:QTreeWidget中给树型部件增加顶层项的方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeWidget对象创建后,是没有任何项的,要给部件增加项,首先要增加顶层项.顶层项的增加有三 ...
- PyQt(Python+Qt)学习随笔:invisibleRootItem方法访问QTreeWidget树型部件的隐形根节点
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 我们知道在数据结构上来说,任何树都是有根节点的,但我们在QTreeWidget对象中并没有看到界面上 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中的topLevelItem、indexOfTopLevelItem和takeTopLevelItem方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 获取指定位置顶层项 树型部件QTreeWidget中,通过topLevelItem方法根据位置索引取 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中判断项是否首列跨所有列展示的isFirstItemColumnSpanned方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在前面<PyQt(Python+Qt)学习随笔:QTreeWidgetItem项是否首列跨所有 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中的项编辑方法editTriggers、editItem和openPersistentEditor作用及对比分析
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在树型部件QTreeWidget中,有三种方法触发进行项数据的编辑:editTriggers触发编辑 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中使用sortItems进行项排序
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的项可以使用sortItems方法按照指定列进行排序,调用语法: s ...
随机推荐
- python中 元组
#元组,不可变的list,一旦定义好就不可被改变,一般会用于连接数据库信息等:#他也是通过下标访问的#定义一个空的元组a=()t=('127.0.0.0',3306,'root','123456')t ...
- vuex-Module
Vuex 允许将 store 分割成模块(module). 每个模块拥有自己的 state.mutation.action.getter.甚至是嵌套子模块 const moduleA = { stat ...
- HDFS API编程
3.1常用类 3.1.1Configuration Hadoop配置文件的管理类,该类的对象封装了客户端或者服务器的配置(配置集群时,所有的xml文件根节点都是configuration ...
- Mad Libs游戏:熟悉python编程环境,基本输入输出
Mad Libs游戏: 代码: name1=input("请输入一个名字:") name2=input("请输入一个名字:") print("{}才刚 ...
- Problem A: 类的初体验
Description 定义一个类Data,只有一个double类型的属性和如下3个方法: 1. void init(double d);——初始化属性值. 2. double getVal ...
- 关于Idea启动配置tomcat
1.打开file中setting中搜索Application Servers,如下图 2.添加服务器类型,例如tomcat,如下图,添加完成之后可以选定tomcat的目录,tomcat Home配置t ...
- 弹性布局(Flex布局)整理
一. 弹性布局 一个好的网站都有让用户看上去很舒服的布局,一个网站的布局也会或多或少影响到它的浏览量,看完阮大神的博客,就想把弹性布局整理一下. 在平时的我们常用的布局类型有以下几种: 1.浮动+定 ...
- HDU - 6167: Missile Interception (二分+圆的交)
pro:二维平面上,给点N个导弹的初始位置,射出方向,速度.问你是找一点,可以从这一点向任意方向发出拦截导弹,速度未V,最小化最大拦截导弹的时间. 如果要拦截一个导弹,必须在导弹发射之后才可以发射拦 ...
- zabbix客户端的安装、zabbix主被动模式、添加主机模板等、处理页面的中文乱码
1.zabbix客户端的安装: 如下步骤: wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch. ...
- uip移植telnetd并加入自己定义命令
版权声明: https://blog.csdn.net/cp1300/article/details/30541507 刚刚移植了一下uip的telnetd,还是比較简单方便的. 首先加入文件,注意u ...