首页 > 其他分享 >pyqt Qtreeview分层控件

pyqt Qtreeview分层控件

时间:2024-05-29 18:30:53浏览次数:19  
标签:__ 控件 Qtreeview self tree pyqt 视图 QStandardItem view

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_()

标签:__,控件,Qtreeview,self,tree,pyqt,视图,QStandardItem,view
From: https://blog.csdn.net/summerriver1/article/details/139074262

相关文章

  • C# WinForm控件及其子控件转成图片(支持带滚动条的长截图)
    概述(Overview)参考了网上的分享,感觉都不太理想:1.一个控件内如果包含多个子控件时没有考虑顺序问题;2.超出控件可显示区域时不能长截图,有滚动条会多余截取了滚动条。这个随笔旨在解决这个问题,实现带滚动条时可以长截图,并且给出了在多个子控件的情况下如何控制截图顺序的代码。......
  • 实现Avalonia平台下低配版的Dock控件:实现TabControl的可关闭
    在弄一个项目,在WPF下用Dock控件,在Avalonia平台下实现也有一个Dock控件,但用起来有点复杂。Install-PackageDock.AvaloniaInstall-PackageDock.Model.Mvvm感兴趣的可以访问网站了解:https://github.com/wieslawsoltes/Dock其实本身用的比较简单,所以就想着,用TabControl来改一下......
  • 界面控件DevExpress WinForms的流程图组件 - 可完美复制Visio功能(一)
    DevExpressWinForms的Diagram(流程图)组件允许您复制MicrosoftVisio中的许多功能,并能在下一个WindowsForms项目中引入信息丰富的图表、流程图和组织图。P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美......
  • GDI+图形显示控件(坐标轴、缩放、轨迹、图像、实时编辑等功能)
    1.显示控件介绍自动化设备(点胶、激光、贴装等等)中经常需要实时显示加工轨迹以及在线编辑加工轨迹等功能,需要用到相应的绘图显示控件。功能强的显示控件不但需要支持大量数据点显示还需要有强大的轨迹编辑功能。如下CadDisplay控件使用GDI+绘图技术,不断的在多个项目中进......
  • 界面控件DevExtreme v23.2亮点 - 标签、表单、编辑器功能升级
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NETCore或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中......
  • 使用.Net Core开发WPF App系列教程( 八、WPF中的常用控件(下))
    使用.NetCore开发WPFApp系列教程一、.NetCore和WPF介绍二、在VisualStudio2019中创建.NetCoreWPF工程三、与.NetFramework的区别四、WPF中的XAML五、WPF中的布局六、WPF中的常用控件(上)七、WPF中的常用控件(中)八、WPF中的常用控件(下)其它、实现多语言切换的几种方......
  • Qt QListWidget 存放自定义控件不显示问题
    问题软件功能:每点击一次新建按钮,在QListWidget新增一行自定义控件,主窗口和自定义窗口如下。主窗口:自定义窗口问题代码:Form*myform=newForm();QListWidgetItem*item=newQListWidgetItem(ui->listWidget);ui->listWidget->addItem(item);......
  • WPF一个简单的属性编辑控件
    代码:publicclassPropertiesControl:Grid{[TypeConverter(typeof(LengthConverter))]publicdoubleRowHeight{get{return(double)GetValue(RowHeightProperty);}set{SetValue(RowHeightProperty,......
  • ThinkEditor跨平台BS电子病历编辑器控件具备哪些能力
            笔者从事医疗信息化行业工作10多年,对当前热门的BS架构的电子病历编辑器有一些自己的思考发出来供大家讨论,笔者信译,演示网址:www.thinkeditor.com。1.病历结构是否需要结构化        首先是陈旧的自定义字符串格式,虽格式灵活,但需自己编写病历格式解析......
  • QTreeView中item节点任意拖拽移动,添加,删除与自绘指示器
    文章目录效果图主要功能点概要遇到的问题指示器拖拽总结效果图主要功能点节点自由拖拽移动自绘树的指示器可拖拽添加节点概要整体还是对于model-view这一套的使用,左侧的实现可看我的这篇文章,本文具体讲讲这个树QTreeView的拖拽与自绘指示器。关于树......