前面内容,我们介绍了关于PyQt5的一些常用高级控件的使用,为了更好的便于大家理解,我们通过一些案例进行了讲解。用户接口

用Python将电子表格Excel展示在界面中,PyQt5之QTableWidget应用

Excel表格搬到Python界面上?可以实现!结合PyQt5的QTabWidget类

Python之PyQt5编程,用代码设置剪切板内容,QClipboard类的使用

Python用PyQt5制作窗体状态栏,基本控件QStatusBar使用方法详解

今天,我们来介绍另外一种常用的高级控件-QTreeWidget(树形控件)。相信大家对这个也不会陌生。看下图。系统中资源管理器界面通过树形结构展示

VMware界面中虚拟机列表展示

此外,还有很多社交软件中联系人列表,等等。社交软件中的树形展示

这些内容的展示,都使用了树形控件(或者类似的树形控件)。如果使用得当,这绝对是界面编程中一个高大上的控件。下面,让我们来慢慢揭开它的面纱吧!

01QTreeWidget类

Python中“一切皆对象”。对于一个界面中的控件来讲,展示之前将其相应的类进行实例化,并把它放置在合适的父控件之中,如果能理解这个过程,我们就算是掌握了界面编程(利用PyQt5)的通用方法了。掌握方法很重要

通常来讲,我们可以不用自己编写这些复杂冗余的界面代码(直接使用Qt Designer就可以达到效果)。但作为初学者,强烈建议还是先逐行敲代码吧!所见即所得

废话少说,我们先来看下今天的主角QTreeWidget类。首先,来了解下它从哪里来?

Python环境下输入下面内容

>>>from PyQt5.Qt import QTreeWidget

>>> QTreeWidget.__mro__

,

QTreeWidget类的常用属性和方法这里就不再赘述了,网上一搜一大堆,感兴趣的小伙伴自行搜索学习。自学吧

这里需要强调一下的就是,QTreeWidget继承自QTreeView,但是,跟我们之前学过的内容稍有差异,对于处理一些复杂的树形结构展示,我们一般使用QTreeView类,比如文件系统的树形结构(见下面示例)。跟我们一般理解不太一样!

下面通过两个例子来大家掌握QTreeWidget的用法。

02如何创建一个树形控件

我们来看下面的例子,我们有这样一些人员的信息,结构如下:

rootData = {'Bobby':,

'Lucy':,

'LiLei': }

我们需要按照人员姓名分类,当单击姓名时,显示这个人的年龄、性别、籍贯等信息。如何解决呢

代码如下所示:示例源代码

我们来看下程序运行效果。程序成功运行

上面仅仅是创建了一个树形控件,还有没有别的用法呢?上面提到了QTreeView的特殊用法,我们来看下面的例子。

03制作一个资源管理器

我们的需求是这样的,让程序自己获取系统盘符中的文件目录结构,制作一个简单的资源管理器,左侧显示文件盘符及目录信息,当我们单击盘符或者相应的文件夹时,树形展开,最终将文件夹内容显示到右侧窗体中。这样解决程序源代码

我们来看下运行效果,如下图所示程序运行效果展示

转载请注明出处,百家号:Python高手养成

python制作好看的界面_【一点资讯】Python界面如何漂亮的展示树形结构,PyQt5控件之QTreeWidget详解 www.yidianzixun.com...相关推荐

  1. python制作gif动图_怎样用Python制作好玩的GIF动图

    原标题:怎样用Python制作好玩的GIF动图 作者: 景略集智 https://jizhi.im/blog/post/pytogif 程序员共读整理发布,转载请联系作者获得授权 之前我们分享过用Py ...

  2. python制作翻译小软件_如何基于Python制作有道翻译小工具

    这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 该工具主要是利用了爬虫,爬取web有道翻译的 ...

  3. wxpython使用方法_python图形界面开发之wxPython树控件使用方法详解

    wxPython树控件介绍 树(tree)是一种通过层次结构展示信息的控件,如下图所示是树控件示例,左窗口中是树控件,在wxPython中树控件类是wx.TreeCtrl. wx.TreeCtrl常用 ...

  4. Python Tkinter控件之 Label 详解

    (Label)标签控件被用于显示文本和图像.标签可包含多行文本,但只能用一种字体. Python Tkinter 标签控件(Label):指定的窗口中显示的文本和图像 注:你如果需要显示一行或多行文本 ...

  5. 用python绘制好看的图形_如何使用Python绘制好word cloud,怎么,画出,好看,的,词,云图...

    下面记录一下python作图做了一个学期依然是个菜鸡的一些操作: ** 1.导入库 ** import jieba from wordcloud import WordCloud import mat ...

  6. 用python绘制好看的图形_怎么用Python画出好看的词云图?

    相信很多人在第一眼看到下面这些图时,都会被其牛逼的视觉效应所吸引,这篇文章就教大家怎么用Python画出这种图. 前期准备 上面的这种图叫做词云图,主要用途是将文本数据中出现频率较高的关键词以可视化的 ...

  7. python制作英语小词典_如何用python(django)创建英语词典应用程序?

    我不知道你在说什么功能.如果您的意思是"从数据库中记录的词汇中搜索关键字",那么python dictionnary不是一个可能的解决方案,因为您必须反序列化整个数据库才能进行搜索 ...

  8. 怎么用python制作随机点名软件_如何用python编写一个简易的随机点名软件?

    自问自答哈哈,高铁上随便写的代码 不过randint那里debug好像要(0, 3)不知道是什么原因 import random my_list = ['张三', '李四', '王五', '杨六'] ...

  9. 怎么用python制作随机点名软件_如何用python编写一个简易的随机点名软件

    展开全部 思路:1.定义一个字2113典,把名字和数字对应起5261来:2.引用随机4102模块:3.输入要点名的个数1653,通过循环输出名字. 具体代码如下:# -*- coding:utf-8 ...

最新文章

  1. 关于中英数字混排的字符串分割问题(转)
  2. 服务器端虚拟化安卓,安卓服务器端实例
  3. dw服务器文件夹在哪里,Dreamweaver CC
  4. 使用nginx代理,怎么获取真实的IP
  5. 工作变得简单又高效 试试这八个WebApp
  6. 代码从GCC到MSVC的移植
  7. 吴恩达《机器学习训练秘籍》完整中文版,现在可免费下载 | 资源
  8. word表头宽行重复
  9. go程序员面试算法宝典 pdf_Go程序员面试算法宝典
  10. PhpStorm WebStorm IDEA 官方汉化插件
  11. JDK源码阅读调试环境搭建
  12. 原生JS写一个首字母排序的通讯录效果
  13. FFMPEG 实现混音,加水印,加文字,模糊水印任意滤镜组合
  14. ffmpeg获取rtsp h265_用FFmpeg将rtsp视频流保存成H264、h265文件
  15. 括号匹配问题(栈应用)C++
  16. ubuntu中查找文件后高亮_vim的高亮查找操作
  17. 小米商城热销模块样式
  18. tcp协议系列文章(3):TLP算法
  19. 石墨烯的电导率matlab,石墨烯电导率.pdf
  20. C语言:【入门】小明买水果

热门文章

  1. Arrays.copyOf()、Arrays.copyOfRange()与System.arraycopy()用法
  2. java 自旋锁_java锁的种类以及辨析(一):自旋锁
  3. Qt QPushButton圆形图片设置为背景
  4. 奇异值分解 VS 特征值分解
  5. python函数定义错误_[转载]python之函数的使用及异常处理2021.1.30
  6. 数据结构与算法 / 哈希算法
  7. 临时变量不能作为非const引用
  8. linux下使用make指令生成程序时提示“XXX is up to date”问题的解决办法
  9. 启明云端分享| 手把手教你基于DEMO源码快速进行86盒应用开发
  10. php 上传加水印,php 图片上传加水印(自动增加水印)