首页 > 其他分享 >QT——QTreeView相关操作

QT——QTreeView相关操作

时间:2023-07-15 19:45:40浏览次数:32  
标签:QT QTreeView currentItem item currentIndex new 操作 id QStandardItem

1、判断是否为根节点

QModelIndex currentIndex = treeView->currentIndex();
QStandardItem* currentItem = model->itemFromIndex(currentIndex);
// 如果是根目录,是否存在父节点来判断是否为根目录
 bool isRootItem = (currentItem->parent() == nullptr);

2、存储并获取数据

// 存储数据
QStandardItem* item = new QStandardItem("新增item");
item->setData(id, Qt::UserRole + 1);  // 用户自定义数据
item->setData(name, Qt::DisplayRole); // 显示的数据

// 获取id
QVariant idData = graphics_treeModel_->data(currentIndex, Qt::UserRole +1);
int id = idData.toInt();

3、索引转item

QModelIndex currentIndex = treeView->currentIndex();
if (!currentIndex.isValid())
	return;
QStandardItem* currentItem = model->itemFromIndex(currentIndex);

4、QStandardItem添加子item

QStandardItem* new_item = new QStandardItem(str);
fathertItem->appendRow(new_item);

标签:QT,QTreeView,currentItem,item,currentIndex,new,操作,id,QStandardItem
From: https://www.cnblogs.com/dbai/p/17556773.html

相关文章

  • JS 数组操作
    JS数组操作如下://at(),用于接收一个整数值并返回该索引对应的元素,允许正数和负数。负整数从数组中的最后一个元素开始倒数constarr=[{name:'a',age:15},{name:'b',age:12},{name:'c',age:13},{name:'d',age:12},{name:'e',age:12}];console.log(ar......
  • java操作zookeeper
    java操作zookeeper创建一个maven项目在pom文件里引入如下依赖:<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope......
  • 如何使用C#中的Lambda表达式操作Redis Hash结构,简化缓存中对象属性的读写操作
    Redis是一个开源的、高性能的、基于内存的键值数据库,它支持多种数据结构,如字符串、列表、集合、散列、有序集合等。其中,Redis的散列(Hash)结构是一个常用的结构,今天跟大家分享一个我的日常操作,如何使用Redis的散列(Hash)结构来缓存和查询对象的属性值,以及如何用Lambda表达式树来简化......
  • MySQL学习-基本操作
    1.数据库操作创建数据库createdatabasetest;查看数据库showdatabases;进入数据库usetest;删除数据库dropdatabasetest;2.表格操作创建表格 createtabletable1(namevarchar(20),date1date)删除表格droptabletest1修改表格表项altertabletable1modif......
  • office软件提示“您的组织策略阻止我们进行该操作”错误的解决办法-终极汇总
    环境系统:win1064位专业版时间:2023年7月15日1.选择默认软件在设置中打开默认应用,将web浏览器改为你想要的浏览器 2.修改注册表同时按下win+R,输入regedit打开注册表。修改计算机\HKEY_CURRENT_USER\Software\Classes\.html路径下的值为Htmlfile 3.重启office软件或......
  • 启动Hadoop时需要进行的操作
    首先切换到hadoop用户su-hadoop启动hdfs集群start-dfs.sh启动yarn集群start-yarn.sh启动hive首先切换到hive文件夹cd/export/server/hive然后再运行下述命令#先启动metastore服务然后启动hiveserver2服务nohupbin/hive--servicemetastore>>logs/metastore.log......
  • 链表操作
    1.单链表逆序,要求在原链表数据不改变的情况下进行逆序方法一:新建一个头节点,将链表中的元素一个一个放入新的头节点structListNode*reverseList(structListNode*head){structListNode*n=malloc(sizeof(structListNode));n->next=NULL;structListNode......
  • AI绘画Stable Diffusion实战操作: 62个咒语调教-时尚杂志封面
    今天来给大家分享,如何用sd简单的咒语输出好看的图片的教程,今天做的是时尚杂志专题,话不多说直入主题。还不会StableDiffusion的基本操作,推荐看看这篇保姆级教程:AI绘画:StableDiffusion终极炼丹宝典:从入门到精通飞书原文链接:AI绘画StableDiffusion实战操作:62个咒语调教-时尚杂......
  • pyqt6计时小工具
    这个项目最初的目的是可以倒计时,然后有个文本框,这样方便记录手机充电10分钟充了百之几,结束后可播放一段音频然后提醒一下这样子的,当然有时有些后台任务预计多久结束然后提醒一下也不错的。下面上代码及效果图 fromPyQt6importQtCore,QtGui,QtWidgetsfromPyQt6.QtMultim......
  • C语言文件操作及字符串学习记录
    #include<stdio.h>#include<errno.h>#include<string.h>#include<stdlib.h>#include<stddef.h>//externinterrno;#if0intcountSpace(char*s){inti=0;intcount=0;while(s[i]!='\0'){......