qt种实现搜索栏功能

引言

在搜索栏种输入要搜索的文本,就会出现相关联的文本提示,这是可以通过鼠标选中要搜索的文本,或者通过上下键选中要搜索的文本。

效果

效果图如下所示:

在这里插入图片描述

实现

下面是相关的代码实现,读者只需参考,理解其含义,然后自己结合自己的程序来编写便可。

void LayoutListWidget::initCombox()
{ui->comboBox->setView(new QListView());ui->comboBox->setLineEdit(ui->lineEdit);ui->comboBox->setEditable(true);ui->comboBox->setMaxVisibleItems(6);ui->comboBox->lineEdit()->setPlaceholderText(QStringLiteral("请输入搜索的场景名称"));
}void LayoutListWidget::onUpdateSearchedList()
{ui->comboBox->clear();ui->comboBox->addItems(m_layoutName);ui->comboBox->lineEdit()->clear();//清空默认显示在行编辑器中的文本,使其显示提示信息QCompleter *pCompleter = new QCompleter(m_layoutName, this);ui->lineEdit->setCompleter(pCompleter);pCompleter->setCaseSensitivity(Qt::CaseInsensitive);ui->comboBox->setCompleter(pCompleter);
}

如果被检索的库不变更,在程序开始的时候便已经加载了下拉列表种的字符串列表,则上述的第二个函数可以放在第一个函数种去实现。在搜索栏实现的过程中,创建了一个行编辑器和一个下拉列表,将行编辑器设置到下拉列表中,并向下拉列表中添加供检索的所有的字符串,设置行编辑器和下拉列表的补全器,这样在输入的文字包含在被检索库中时就会出现提示栏,提示可供选则的字符串。但这个自动补全器只能在文本字符串按照顺序检索,不能跳跃式检索。也就是假如搜索的文本是突然,在搜索栏中输入突,就会在列表提示突然,当然是搜索库中已经含有突然,没有就不会有任何提示栏出现,当输入然的时候,不会出现补全的文本提示框。
搜索出来后,在搜索栏显示选中的文本,这时点击搜索按钮,会执行搜索到该字符串后要执行的程序。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker Redis部署_04

Docker Redis部署部署 1. 拉取Redis镜像2. 创建Redis容器3. 客户端测试 1. 拉取Redis镜像 docker pull redis2. 创建Redis容器 docker run -di --namepinyougou_redis -p 6379:6379 redis查看redis容器是否已经运行: docker ps3. 客户端测试 在你的本地电脑命令提…

关于谷歌云,你应该知道的一切! | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!译者:风车云马 在国内,“谷歌云”这个词并不像“亚马逊AWS”、“微软Azure…

qt构建json字符串的时候,某一个值为字符串

引言 构建json字符串的值时,其值为一个json对象组成的字符串。下面记录一下。 实现 直接上代码来说明问题。 QJsonDocument subDoc;subDoc.setObject(subObject);QByteArray array subDoc.toJson(QJsonDocument::Compact);QString customValue array; …

Docker 容器导出为镜像

Docker 镜像备份与迁移 1. 容器保存为镜像2. 镜像备份3. 镜像恢复与迁移 1. 容器保存为镜像 我们可以通过以下命令将容器保存为镜像 docker commit pinyougou_nginx mynginxpinyougou_nginx是容器名称mynginx是新的镜像名称 pinyougou_nginx容器已经成功保存为mynginx镜像&…

qt动态添加窗口到垂直布局

引言 程序运行的过程中根据需要动态的创建窗口,每创建一个窗口,就加入列表中,使其竖直展示各个窗口。这样的操作实际是每创建一个窗口,就将其加入到垂直布局中,当点击不同的窗口时能够实现对被点击窗口的区分&#xf…

Storm精华问答 | Kafka在Storm中的角色是什么?

戳蓝字“CSDN云计算”关注我们哦!Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统等, 大数据实时处理…

SonarQube开机自启动

1、创建服务 vi /etc/init.d/sonar内容如下,其中标红内容为服务绝对路径: #!/bin/sh # # rc file for SonarQube # # chkconfig: 345 96 10 # description:SonarQube system (www.sonarsource.org) # ### BEGIN INIT INFO # Provides:…

qt通过代码创建滚动区域,添加滚动区域到窗口

引言 继承于QWidget创建的项目,要想在QWidget中添加很多子控件,考虑到若是子控件的数目不确定,太多的时候就需要添加滚动条来实现滚动查看,于是可以自定义一个类,在该类中实现滚动区域和滚动窗口的创建,然…

SwitchHosts提示切换hosts失败!没有修改'C:\WINDOWS\system32\drivers\etc\hosts'的权限问题

文章目录1. 找到hosts文件2. 右键属性3. 去除只读勾选4. 属性安全编辑5. 点击选择修改和写入即可1. 找到hosts文件 根据将地址粘贴到窗口进行搜索找到"hosts"文件 地址: C:\Windows\System32\drivers\etc2. 右键属性 鼠标放在hosts文件上右键属性 3. 去除只读勾…

使用云原生buildpacks将你的代码转换成Docker Image | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!当我们在大概七年前将buildpack技术开源的时候,我们就知道这项技术将大大简…

qt设置鼠标追踪后,鼠标还是需要点击后才能变样式

引言 鼠标在窗口的四个边和四个角后会显示不同的样式。在构造函数中设置了鼠标追踪,但是鼠标依然需要点击后才能改变样式,究其原因是只设置了父窗口的鼠标追踪,没有设置子控件的追踪,当然是子控件与父窗口的鼠标追踪有关才需要设…

Docker镜像备份与迁移

文章目录1. 将容器备份成镜像2. 将镜像备份成本地文件3.从本地加载备份文件恢复镜像1. 将容器备份成镜像 用centos镜像创建一个名称为mycentos的容器 docker run -id --namemycentos centos:7查看所有容器 docker ps -a将容器mycentos保存为镜像 docker commit mycentos my…

明星企业内推+BAT面经,长三角的开发者联合起来!

戳蓝字“CSDN云计算”关注我们哦!“为什么公司宁愿花20K招新人,也不愿给老员工加到20K?”这个热门的微博话题戳起了很多人的痛处,但根据 CSDN &《程序员》杂志发布的「中国软件开发者薪资调查报告」,有32.98%的开发…

Spring4.x整合Axis1.4发布WebService服务

Spring4.x整合Axis1.4发布WebService服务 文章目录一、服务端部署1. 在web.xml文件中添加映射路径和spring监听2. 添加spring-axis.xml配置文件3. 添加server-config.wsdd配置文件4. 对外发布服务外壳类5. 添加接口类6. 添加接口逻辑实现类7. 浏览器测试二、客户端部署2.1 axis…

阿里云亚太市场份额第一;AWS宣布在香港推出新区域;Facebook出成绩单;微软在美国西部开建第五个大型云平台...

戳蓝字“CSDN云计算”关注我们哦!重磅先知 Gartner:阿里云亚太市场份额第一AWS宣布在香港推出新的区域一直在水逆的Facebook出成绩单微软在美国西部开建第五个大型云平台重磅快报Gartner:阿里云亚太市场份额第一4月24日,市场研究…

qt私有信号拙见

理解 信号在使用的时候,一般在类中声明为私有信号,直接在拥有该信号的类中调用emit发送,但是可以在其它类中来通过创建拥有该信号的类对象,并通过connect()函数来绑定该私有信号与相应的槽函数。当然,私有信号只能在本…

1s完成 大文件分割方案

按行数分割方案: 执行命令: split -l 1000 i.txt -d -a 4 gblfy_格式:split -l 行数 文件名 -d -a 4 gblfy_ 解析: 1、每个文件1000行(-l 1000); 2、文件名称后缀系数不是字母而是数字(-d)&…

git通过指令查看某一个已经修改的文件的改动

方法 提交文件的时候提示文件发生了变动,这时若是要查看文件具体发生了什么变动,只需在命令行输入下述指令便可:git diff 文件名。 上面截图中可以通过git status来查看该项目中各文件的状态,可以看到文件 modified: SceneModule…

开发者如何写好技术简历?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!文章来源一位实验室朋友的投稿,斩获BAT头条等公司的offer,金三银四一份漂亮…

Linux系统查看文件中关键词出现的次数

在Linux系统中的文件目录下: 执行以下命令: grep -o KeyWord 03.txt | wc -l格式:grep -o ‘关键词’ fileName | wc -l 注: ‘KeyWord’是指定的关键词; 03.txt是指定的文本 | wc -l是统计次数