欢迎光临散文网 会员登陆 & 注册

表格与树——QTreeView

2022-05-12 13:55 作者:海鸥之道  | 我要投稿

QTreeWidget 顾名思义,这是用来展示树型结构(也就是层次结构)的。
Qt中实现树形结构可以使用
QTreeWidget类,也可以使QTreeView类。
QTreeWidget继承自QTreeView类。这个类需要同另外一个辅助类QTreeWidgetItem一同使用。
不过,既然是提供方面的封装类,即便是看上去很复杂的树,在使用这个类的时候也是显得比较简单的。
当不需要使用复杂的
QTreeView的特性的时候,我们可以直接使用QTreeWidget代替。

QTreeWidget类中常用的方法如下表所示:

QTreeWidgetItem类中的常用方法如下表:

1、树形结构的实现

树形结构时通过QTreeWidget和QTreeWidgetItem类实现的,其中QTreeWidgetItem类实现了节点的添加。

实例演示1:树形结构的实现

运行程序,显示效果如下;

1.1 设置节点状态

在上面显示的基础上,我们设置下节点的状态,也就是设计节点是否可被选中,可以使用QTreeWdigetItem的setCheckState()函数实现,添加代码如下:

显示效果如下:

1.2 设置节点的背景颜色

可以使用QBrush类来设置节点的背景颜色,例如设置根节点的背景颜色,代码如下:

显示效果如下:

2、给节点添加响应事件

下面演示当单击属性控件时,触发树形节点的响应事件。

实例演示2:添加响应事件

鼠标点击时,所在的行变成绿色,显示效果如下。

3、系统定制模式

在上面的例子中,QTreeWidgetItem类的节点是一个个添加的,这样做有时很不方便,特别是当窗口中产生比较复杂的树形结构时,一般都是通过QTreeView类来实现的,而不是QTreeWidget类。QTreeView类与 QTreeWidget类最大的区别就是,QTreeView类可以使用操作系统提供的定制模式,比如文件系统盘的树列表。

实例演示3:系统定制模式

运行代码,则显示出当前电脑磁盘信息,显示效果如下图所示。






表格与树——QTreeView的评论 (共 条)

分享到微博请遵守国家法律