pyqt Qtreeview分层控件

pyqt Qtreeview分层控件

  • 介绍
  • 效果
  • 代码

介绍

QTreeView 是 PyQt中的一个控件,它用于展示分层数据,如目录结构、文件系统等。QTreeView 通常与模型(如 QStandardItemModel、QFileSystemModel 或自定义模型)一起使用,以管理数据和提供视图如何显示数据的规则。

效果

在这里插入图片描述

代码

from PyQt5.QtWidgets import QApplication, QTreeView, QVBoxLayout, QWidget
from PyQt5.QtGui import QStandardItemModel, QStandardItem
from PyQt5.QtCore import Qt


class TreeViewExample(QWidget):
    def __init__(self):
        super().__init__()

        # 初始化布局和视图
        self.initUI()

    def initUI(self):
        # 创建一个垂直布局
        layout = QVBoxLayout()

        # 创建一个模型
        model = QStandardItemModel()

        # 创建根节点
        root_item = model.invisibleRootItem()

        # 添加一些子节点到根节点
        item1 = QStandardItem('Item 1')
        item11 = QStandardItem('Item 1.1')
        item12 = QStandardItem('Item 1.2')
        item1.appendRow([item11, item12])
        root_item.appendRow(item1)

        item2 = QStandardItem('Item 2')
        item21 = QStandardItem('Item 2.1')
        item2.appendRow(item21)
        root_item.appendRow(item2)

        # 创建一个视图并设置模型
        tree_view = QTreeView()
        tree_view.setModel(model)

        # 设置视图的扩展标志以允许所有列展开
        tree_view.setExpandsOnDoubleClick(False)
        tree_view.setRootIsDecorated(False)
        tree_view.setSortingEnabled(True)

        # 添加视图到布局
        layout.addWidget(tree_view)

        # 设置窗口布局
        self.setLayout(layout)

        # 设置窗口标题和大小
        self.setWindowTitle('QTreeView Example')
        self.setGeometry(300, 300, 300, 200)


if __name__ == '__main__':
    app = QApplication([])
    ex = TreeViewExample()
    ex.show()
    app.exec_()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/660379.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习300问】105、计算机视觉(CV)领域有哪些子任务?

计算机视觉作为人工智能的重要分支,发展至今已经在诸多领域取得显著的成果。在众多的计算机视觉任务中,图像分类、目标检测与定位、语义分割和实例分割是四个基本而关键的子任务,它们在不同的应用场景下扮演着重要角色。这四个子任务虽然各具…

【408真题】2009-23

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…

Ps系统教程03

选区工具的组合使用 先用魔棒将大致区域点击圈主 会发现一些零散的小区域 使用套索工具进行区域的加减(按住shift/alt键进行相关区域加减) 可以放大查看 基本处理完细节之后 如果把不用的填充背景直接按delete删除,那么原版图案就会…

研学活动报名二维码怎么制作?

在组织研学活动时,老师们经常面临报名流程繁琐、信息收集不全面、统计工作耗时等问题?如何高效地管理学生的报名信息,确保活动顺利进行呢? 现在我们有了更多的选择。老师们可以快速制作出研学活动的研学活动报名二维码怎么制作&am…

深度解析搜索引擎广告(SEM)与社交媒体广告(SMM):NetFarmer助力企业数字化出海

在当今数字化时代,企业出海已经成为了一个必然趋势。然而,如何有效地在海外市场中推广品牌、吸引潜在客户,成为了众多企业面临的重要挑战。搜索引擎广告(SEM)和社交媒体广告(SMM)作为两种主要的…

Ex 防爆标准解读

以如下标准为例: Ex t IIIB T2 40 Db 解读: Ex防爆 t: IIIB T2 40 T2为温度等级,40为最大表面温度40度 Db 设备防护用于22区 类似铭牌为

能芯(EnChip)模拟芯片应用和选型

数据显示,超过60%的驾驶者会在开车时听音乐,这不仅可以提高驾驶者的注意力,还可以缓解驾驶过程中产生的疲劳和压力,特别是在长途驾驶或交通拥堵时尤其明显。基于音乐欣赏,高保真音质是音响系统的核心指标之一&#xff…

【考研数学】李艳芳900比李林880难吗?值得做吗?

差不多,只能说基础没搞好刷这两个都很费劲 李艳芳900题把每个章节题目划分为ABC三个难度级别,题目选取的难度较大也比较新颖,计算量也非常接近考研趋势,原创性很高,比较适合过完一轮的同学继续做补充和强化 880算是比…

算法与数据结构:二叉排序树与AVL树

ACM大牛带你玩转算法与数据结构-课程资料 本笔记属于船说系列课程之一,课程链接: 哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep66799?csourceprivate_space_class_null&spm_id_from333.999.0.0 你也可以选择购买『船说系列课程-年度会…

【C++】:vector容器的底层模拟实现迭代器失效隐藏的浅拷贝

目录 💡前言一,构造函数1 . 强制编译器生成默认构造2 . 拷贝构造3. 用迭代器区间初始化4. 用n个val值构造5. initializer_list 的构造 二,析构函数三,关于迭代器四,有关数据个数与容量五,交换函数swap六&am…

R语言入门 | 使用 ggplot2 进行数据可视化

1.0准备工作 先下好tidyverse包,并进行加载。 install.packages ( "tidyverse" ) library(tidyverse) R 包只需安装一次,但每次开始新会话时都要重新加载。 1.1 数据框 数据框是变量(列)和观测(行&#x…

AppInventor2 表格布局的外面的黑框怎么去掉?

问:表格布局的外面的黑框怎么去掉啊? 答:这个黑框是界面设计的布局位置示意,实际 App 测试时并没有框。 来源:AppInventor2 表格布局的外面的黑框怎么去掉? - App应用开发 - 清泛IT社区,为创新…

【错题集-编程题】天使果冻(递推)

牛客对应题目链接:天使果冻 (nowcoder.com) 一、分析题目 预处理 递推 / 动态规划 f[i]:表示前 i 个数中的最大值。g[i]:表示前 i 个数中的第二大的值。 状态转移方程: f[i] max(f[i-1], arr[i]);arr[i] > f[i-1]&#xf…

数据结构(十)图

文章目录 图的简介图的定义图的结构图的分类无向图有向图带权图(Wighted Graph) 图的存储邻接矩阵(Adjacency Matrix)邻接表代码实现 图的遍历深度优先搜索(DFS,Depth Fisrt Search)遍历抖索过程…

电脑录屏怎么录?7个电脑录屏软件免费版强势来袭,赶快收藏!

电脑录屏怎么录?相信很多小伙伴们都不知道怎么在Windows电脑上录屏吧?在当今社会,随着互联网的快速发展,越来越多的小伙伴们开始通过制作视频内容来分享知识、展示技能或者记录生活。电脑录屏成为了一种简单高效的方式&#xff0c…

RocketMQ .NET

RocketMQ 是一款由阿里巴巴集团开发并开源给Apache软件基金会的分布式消息及流处理平台。以其高吞吐量、低延迟、高可用性等特点而广受欢迎。支持Java,C, Python, Go, .NET等。 异步解耦:可以实现上游和下游业务系统的松耦合设计,使得服务部…

markdown语法保存

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

React(四)memo、useCallback、useMemo Hook

目录 (一)memo API 1.先想一个情景 2.用法 (1)props传入普通数据类型的情况 (2)props传入对象的情况 (3)props传入函数的情况 (4)使用自定义比较函数 3.什么时候使用memo? (二)useMemo Hook 1.用法 2.useMemo实现组件记忆化 3.useMemo实现函数记忆化 …

dbserver 软件 展示 全部模式库

目录 1 问题2 实现 1 问题 dbserver 软件 展示 全部模式库 2 实现 以上就可以了

Vue——事件修饰符

文章目录 前言阻止默认事件 prevent阻止事件冒泡 stop 前言 在官方文档中对于事件修饰符有一个很好的说明,本篇文章主要记录验证测试的案例。 官方文档 事件修饰符 阻止默认事件 prevent 在js原生的语言中,可以根据标签本身的事件对象进行阻止默认事件…