Qt 编辑框QLineEdit自带模糊搜索功能实现
发现一个小功能,挺实用的,记录一下
QLineEdit类中提供了void QLineEdit::setCompleter(QCompleter *c)函数,现在就讲解一下QCompleter类;
QCompleter(QObject *parent = Q_NULLPTR)
QCompleter(QAbstractItemModel *model, QObject *parent = Q_NULLPTR)
QCompleter(const QStringList &list, QObject *parent = Q_NULLPTR)
~QCompleter()
Qt::CaseSensitivity
caseSensitivity() const
int completionColumn() const
int completionCount() const
CompletionMode completionMode() const
QAbstractItemModel *completionModel() const
QString completionPrefix() const
int completionRole() const
QString currentCompletion() const
QModelIndex currentIndex() const
int currentRow() const
Qt::MatchFlags filterMode() const
int maxVisibleItems() const
QAbstractItemModel *model() const
ModelSorting modelSorting() const
virtual QString pathFromIndex(const QModelIndex &index) const
QAbstractItemView *popup() const
void setCaseSensitivity(Qt::CaseSensitivity caseSensitivity)
void setCompletionColumn(int column)
void setCompletionMode(CompletionMode mode)
void setCompletionRole(int role)
bool setCurrentRow(int row)
void setFilterMode(Qt::MatchFlags filterMode)
void setMaxVisibleItems(int maxItems)
void setModel(QAbstractItemModel *model)
void setModelSorting(ModelSorting sorting)
void setPopup(QAbstractItemView *popup)
void setWidget(QWidget *widget)
virtual QStringList splitPath(const QString &path) const
QWidget *widget() const
bool wrapAround() const
实现简单的模糊搜索功能,需要可供查询的库文件,可以是字符串队列也可以是二维数据模型;
具体实现:
有空再补!!!