首页 > 其他分享 >QTreeWidget 的搜索实时显示功能

QTreeWidget 的搜索实时显示功能

时间:2023-10-30 17:14:23浏览次数:27  
标签:parent 实时 QTreeWidgetItem item 搜索 setHidden QTreeWidget

QTreeWidget 的子条目很多时候需要提供实时的搜索功能,以便能快速找到所需要的条目。

代码如下:

// 1. 创建当输入框文本变化时的信号槽。
connect(ui.lineEditSearch, &QLineEdit::textChanged, this, &Demo01_GUI::OnFindItem);

// 2. 槽函数实现检索时,实时显示符合要求的 QTreeWidgetItem
/// <summary>
/// 当搜索框文本变化时触发对应的槽函数
/// </summary>
/// <param name="filterTxt">当前搜索框新的文本内容</param>
void Demo01_GUI::OnFindItem(const QString& filterTxt)
{
    QTreeWidgetItemIterator it(m_treeWidget);      // QTreeWidgetItem的迭代器

    while(*it)
    {
        if((*it)->text(0).contains(filterTxt))
        {
            // 如果当前WidgetItem包含关键字时,就显示该Item
            (*it)->setHidden(false);

            // 递归的检索该Item的parent,如果存在就让其显示出来。
            QTreeWidgetItem* item = *it;
            while((item)->parent())
            {
                item->parent()->setHidden(false);
                item = item->parent();
            }
        }
        else
        {
            // 如果不包含,就将当前条目隐藏。
            (*it)->setHidden(true);
        }

        it++;
    }
}

标签:parent,实时,QTreeWidgetItem,item,搜索,setHidden,QTreeWidget
From: https://www.cnblogs.com/Jeffxu/p/17798279.html

相关文章

  • "阿里巴巴按关键字搜索接口:一键获取海量商品信息,助力商家抢占市场先机!"
    阿里巴巴按关键字搜索商品的接口是通过开放平台提供的API接口来实现的。要使用这个接口,需要进行以下步骤:确认API接口的请求地址和所需参数:需要先查看API文档,了解所要访问的API接口的请求地址和请求参数,以便正确地构造请求和获取数据。注册一个apikey和apisecret调用接入。使用apike......
  • 象棋(搜索+优化)
    Lutece(uestc.edu.cn)哦突然想起来这个搜索叫启发式搜索......#include"bits/stdc++.h"usingnamespacestd;chars[10][10];intdx[8]={-2,-2,-1,-1,1,1,2,2};intdy[8]={-1,1,-2,2,-2,2,-1,1};intans;charss[6][6]={"11111","01111","00*11......
  • 谷歌搜索引擎课程笔记
    1、bywave、lantem搜索引擎处理流程GoogleHackingDatabase:GHDB汇总了数千条谷歌搜索高级语法,涵盖了立足点、敏感路径、敏感文件、错误信息、漏洞文件、漏洞服务器、Web服务器检测等方方面面。2004年开始更名为GHDB,现在由网站exploit-db.com维护GoogleHacking操作符基础操作符:......
  • QTreeWidget 添加右键菜单
    有时需要为QTreeWidget的子条目添加右键菜单功能,主要有两种方案来实现:方案一该方案比较通用,通过为QTreeWidget建立信号槽,在接受itemPressed的信号时会被触发,然后判断当前是否为鼠标右键,若为鼠标右键则创建添加对应的菜单栏,并提供相应的功能。//1.QTreeWidget*tree为......
  • 二叉搜索树结构分析
    二叉查找树(BinarySearchTree),(又:二叉搜索树,二叉排序树),它具有以下特点:若任一节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若任一节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;任意节点的左、右子树也分别为二叉查找树;没有键值相等的节点。下......
  • 数据结构与算法 | 二分搜索(Binary Search)
    二分搜索(BinarySearch)文承上篇,搜索算法中除了深度优先搜索(DFS)和广度优先搜索(BFS),二分搜索(BinarySearch)也是最基础搜索算法之一。二分搜索也被称为折半搜索(Half-intervalSearch)也有说法为对数搜索算法(LogarithmicSearch),用于在已排序的数据集中查找特定元素。搜索过程从排序数......
  • 短视频app源码,Flutter组件--搜索页面布局
    短视频app源码,Flutter组件--搜索页面布局 classLayoutDemoextendsStatelessWidget{ constLayoutDemo({Key?key}):super(key:key); @override Widgetbuild(BuildContextcontext){  returnPadding(   padding:constEdgeInsets.all(10),   c......
  • C++U5-深度优先搜索-03(记忆化搜索、剪枝和优化)
    ......
  • 搜索技术
     why,learn,create,dohao,where谷歌>公众号>抖音>百度限制关键词搜索"易烊千玺"intitle:iPhone15摄像头进灰allintitle:iPhone15摄像头进灰成都intext:"刘寅钰"资阳李志奇site:cctv.com限制输出结果网站李志强inurl:cctvimagesize:2560*1440限制图片大小filetype:pdf......
  • 模拟实现二叉搜索树(非kv模式)(上)
    本篇博客主要是讲解什么是二叉搜索树,以及模拟实现二叉搜索树的插入节点,中序遍历,查找特定节点,以及删除节点。什么是二叉搜索树首先二叉搜索树肯定是一棵二叉树,对于二叉树我们应该是陌生了。而我们在学习二叉树的时候知道,如果只是一棵普通的二叉树,用来储存数据是没有任何意义的,因为如......