QCompleter类提供了模型item的提示功能。

QCompleter可以再Qt的任意控件进行提示,如QLineEdit和QComboBox控件。当用户开始输入一个单词是,QCompleter会进行提示。

下面是QCompleter的基本用法:

QStringList wordList;
wordList << "alpha" << "omega" << "omicron" << "zeta";QLineEdit *lineEdit = new QLineEdit(this);QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
lineEdit->setCompleter(completer);

下面是使用QFileSystemModel的另外一个例子:

QCompleter *completer = new QCompleter(this);
completer->setModel(new QDirModel(completer));
lineEdit->setCompleter(completer);

下面是对QCompleter的数据进行遍历

for(int i = 0; completer->setCurrentRow(i); i++)qDebug() << completer->currentCompletion() << " is match number " << i;

下面是个小例子:

程序运行截图如下:

关键代码:

#include "widget.h"
#include "ui_widget.h"
#include <QCompleter>
#include <QDirModel>
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QStringList wordList;wordList << "alpha" << "omega" << "omicron" << "zeta" << "中文" << "中文中文中文中文";QCompleter *completer1 = new QCompleter(wordList, this);completer1->setCaseSensitivity(Qt::CaseInsensitive);ui->lineEdit->setCompleter(completer1);QCompleter *completer2 = new QCompleter(this);completer2->setModel(new QDirModel(completer2));ui->lineEdit_2->setCompleter(completer2);for(int i = 0; completer1->setCurrentRow(i); i++){qDebug() << completer1->currentCompletion() << " is match number " << i;}
}Widget::~Widget()
{delete ui;
}

源码打包下载地址:

https://github.com/fengfanchen/Qt/tree/master/CompleterDemo

Qt文档阅读笔记-QCompleter官方解析及实例相关推荐

  1. Qt文档阅读笔记-QSet官方解析及实例

    目录 官方解析 博主栗子 官方解析 QSet类是一个模板类,他是一个哈希表集合. QSet<T>是Qt的一个普通容器类.QSet存储的值是不指明顺序的,QSet对这些值提供了快速检索的功能 ...

  2. Qt文档阅读笔记-QtWebApp官方解析与实例(使用QtWebApp搭建HTTP服务器)

    目录 官方解析 博主例子 官方解析 QtWepApp是一个C++的http服务器,受到了java Servlets的启发,因为是Qt写的,所以有跨平台的支持. QtWebApp包含如下的组成部分:   ...

  3. Qt文档阅读笔记-QHostInfo官方解析与实例(根据Host获取IP)

    官方解析 QHostInfo提供了一个静态方法获取主机名: QHostInfo中有一个查找机制,可以根据IP找主机名,也可能工具主机名找IP,可以通过调用QHostInfo::lookupHost这个 ...

  4. Qt文档阅读笔记-QTcpServer官方解析与实例(使用QSocket创建简单的HTTP服务器)

    目录 官方解析 博主例子(做一个简单的HTTP服务器) 本例子中HTTP协议关键点 官方解析 QTcpServer类,提供TCP服务的基础: 这个类接受TCP连接,可以指定一个端口,也可以让其自动一个 ...

  5. Qt文档阅读笔记-QWebPage官方解析与实例

    目录 官方解析 博主例子 源码下载地址 官方解析 QWebPage提供一个视图对象和一个web页面: QWebPage提供了web页面的内容,各种设置(是否支持JavaScript等)和连接,它与QW ...

  6. Qt文档阅读笔记-QWebView官方解析与实例

    目录 背景 官方解析 博主例子 背景 最近发现某Qt项目,出现的效果杠杆的,在看某一小功能的时候,发现有个echart的东西,百度了发现,真的是一个新大陆,Qt加web编程,贼吉尔可怕. 在此发现使用 ...

  7. Qt文档阅读笔记-Q_CLASSINFO官方解析与实例

    官方解析 Q_CLASSINFO 这个宏为类提供额外的信息,要想获取这个Q_CLASSINFO这个信息要使用QObject::metaObject().Qt在Active Qt,Qt D-BUS以及Q ...

  8. Qt文档阅读笔记-stackUnder官方解析与实例

    目录 官方解析 博主例子 官方解析 这里可以配合raise()和lower()这两个函数来使用! 博主例子 用2个label,点击谁谁就浮在界面的最上面,很简单的代码,程序运行截图如下: 源码如下: ...

  9. Qt文档阅读笔记-QPropertyAnimation官方解析及实例

    目录 官方解析 博主例子 官方解析 QPropertyAnimation QPropertyAnimation类为Qt属性提供动画. QPropertyAnimation类可以修改Qt属性,从而达到动 ...

最新文章

  1. Android深度探索HAL与驱动开发—第8章
  2. 如何把a1的图纸变成a0_「云顶之弈装备解析」面对回蓝——青龙刀与大天使究竟该如何取舍...
  3. 用友软件工程IT应用研究院
  4. 删边(normal)
  5. [C++][数据结构]栈(stack)的实现
  6. 德国力挺华为:建5G网络不排除任何设备厂商
  7. 自己总结的sql基本操作
  8. delphi2010完美破解方法
  9. C语言快速学习笔记001-相关语法
  10. 编写高质量的VB代码
  11. python 面向对象 类的内置方法
  12. 总结下MySql优化。防止数据灾难的发生。
  13. 为什要学习烹饪?学习烹饪迫在眉睫
  14. linux的tar命令压缩26g文件,如何使用Linux上的tar命令压缩和解压缩文件 | MOS86
  15. Windows11安装JDK
  16. 百度离线人脸识别sdk的使用
  17. KNN算法和kd树详解(例子+图示)
  18. 树莓派装Aria2和YAAW实现无人值守远程离线下载服务
  19. 【论文阅读】【二维目标检测】Revisiting Feature Alignment for One-stage Object Detection
  20. 32.我的wafBypass之道

热门文章

  1. Java数据库接口JDBC入门基础讲座_JDBC基础教程之CallableStatement
  2. rsync软件配置和使用教程
  3. 程序员总结的:最没有学习效率的 5 种方法!你在用其中哪一种?
  4. 一篇文章,带你见证编程语言的诞生!
  5. 数据分析工具选型3大秘诀,Excel竟未上榜
  6. 对字符串进行 匹配,查找,替换,判断。
  7. 【秘诀】我进公司到现在都尽量避免遇上和同事撞单
  8. 每个程序员都该学习的5种开发语言,不可错过!
  9. 人人都是程序员的节奏,Python 纳入高考
  10. 导致定时器失效_C# 因IIS回收导致定时器失效的解决方案