Qt文档阅读笔记-QCompleter官方解析及实例
生活随笔
收集整理的這篇文章主要介紹了
Qt文档阅读笔记-QCompleter官方解析及实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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官方解析及实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux笔记-利用chkconfig创
- 下一篇: cuda笔记-第一个cuda程序