Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qcompleter.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QCOMPLETER_H
5#define QCOMPLETER_H
6
7#include <QtWidgets/qtwidgetsglobal.h>
8#include <QtCore/qobject.h>
9#include <QtCore/qpoint.h>
10#include <QtCore/qstring.h>
11#include <QtCore/qabstractitemmodel.h>
12#include <QtCore/qrect.h>
13
15
17
21class QWidget;
22
23class Q_WIDGETS_EXPORT QCompleter : public QObject
24{
26 Q_PROPERTY(QString completionPrefix READ completionPrefix WRITE setCompletionPrefix)
27 Q_PROPERTY(ModelSorting modelSorting READ modelSorting WRITE setModelSorting)
28 Q_PROPERTY(Qt::MatchFlags filterMode READ filterMode WRITE setFilterMode)
29 Q_PROPERTY(CompletionMode completionMode READ completionMode WRITE setCompletionMode)
30 Q_PROPERTY(int completionColumn READ completionColumn WRITE setCompletionColumn)
31 Q_PROPERTY(int completionRole READ completionRole WRITE setCompletionRole)
32 Q_PROPERTY(int maxVisibleItems READ maxVisibleItems WRITE setMaxVisibleItems)
33 Q_PROPERTY(Qt::CaseSensitivity caseSensitivity READ caseSensitivity WRITE setCaseSensitivity)
34 Q_PROPERTY(bool wrapAround READ wrapAround WRITE setWrapAround)
35
36public:
42 Q_ENUM(CompletionMode)
43
45 UnsortedModel = 0,
47 CaseInsensitivelySortedModel
48 };
49 Q_ENUM(ModelSorting)
50
51 QCompleter(QObject *parent = nullptr);
52 QCompleter(QAbstractItemModel *model, QObject *parent = nullptr);
53#if QT_CONFIG(stringlistmodel)
54 QCompleter(const QStringList& completions, QObject *parent = nullptr);
55#endif
56 ~QCompleter() override;
57
59 QWidget *widget() const;
60
63
64 void setCompletionMode(CompletionMode mode);
65 CompletionMode completionMode() const;
66
67 void setFilterMode(Qt::MatchFlags filterMode);
68 Qt::MatchFlags filterMode() const;
69
70 QAbstractItemView *popup() const;
71 void setPopup(QAbstractItemView *popup);
72
73 void setCaseSensitivity(Qt::CaseSensitivity caseSensitivity);
74 Qt::CaseSensitivity caseSensitivity() const;
75
76 void setModelSorting(ModelSorting sorting);
77 ModelSorting modelSorting() const;
78
79 void setCompletionColumn(int column);
80 int completionColumn() const;
81
82 void setCompletionRole(int role);
83 int completionRole() const;
84
85 bool wrapAround() const;
86
87 int maxVisibleItems() const;
88 void setMaxVisibleItems(int maxItems);
89
90 int completionCount() const;
91 bool setCurrentRow(int row);
92 int currentRow() const;
93
94 QModelIndex currentIndex() const;
95 QString currentCompletion() const;
96
97 QAbstractItemModel *completionModel() const;
98
99 QString completionPrefix() const;
100
101public Q_SLOTS:
102 void setCompletionPrefix(const QString &prefix);
103 void complete(const QRect& rect = QRect());
104 void setWrapAround(bool wrap);
105
106public:
107 virtual QString pathFromIndex(const QModelIndex &index) const;
108 virtual QStringList splitPath(const QString &path) const;
109
110protected:
111 bool eventFilter(QObject *o, QEvent *e) override;
112 bool event(QEvent *) override;
113
115 void activated(const QString &text);
119
120private:
121 Q_DISABLE_COPY(QCompleter)
122 Q_DECLARE_PRIVATE(QCompleter)
123
124 Q_PRIVATE_SLOT(d_func(), void _q_complete(QModelIndex))
125 Q_PRIVATE_SLOT(d_func(), void _q_completionSelected(const QItemSelection&))
126 Q_PRIVATE_SLOT(d_func(), void _q_autoResizePopup())
127 Q_PRIVATE_SLOT(d_func(), void _q_fileSystemModelDirectoryLoaded(const QString&))
128};
129
131
132#endif // QCOMPLETER_H
The QAbstractItemView class provides the basic functionality for item view classes.
The QAbstractProxyModel class provides a base class for proxy item models that can do sorting,...
The QCompleter class provides completions based on an item model.
Definition qcompleter.h:24
void highlighted(const QString &text)
This signal is sent when an item in the popup() is highlighted by the user.
CompletionMode
This enum specifies how completions are provided to the user.
Definition qcompleter.h:37
@ PopupCompletion
Definition qcompleter.h:38
@ UnfilteredPopupCompletion
Definition qcompleter.h:39
ModelSorting
This enum specifies how the items in the model are sorted.
Definition qcompleter.h:44
@ CaseSensitivelySortedModel
Definition qcompleter.h:46
void highlighted(const QModelIndex &index)
This signal is sent when an item in the popup() is highlighted by the user.
void activated(const QModelIndex &index)
This signal is sent when an item in the popup() is activated by the user.
void activated(const QString &text)
This signal is sent when an item in the popup() is activated by the user (by clicking or pressing ret...
\inmodule QtCore
Definition qcoreevent.h:45
\inmodule QtCore
\inmodule QtCore
\inmodule QtCore
Definition qobject.h:103
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
The QWidget class is the base class of all user interface objects.
Definition qwidget.h:99
QOpenGLWidget * widget
[1]
QString text
rect
[4]
Combined button and popup list for selecting options.
Definition qcompare.h:63
CaseSensitivity
GLenum mode
GLuint index
[2]
GLenum GLenum GLsizei void GLsizei void * column
struct _cl_event * event
const GLubyte * c
GLsizei const GLchar *const * path
GLenum GLenum GLsizei void * row
static QT_BEGIN_NAMESPACE QAsn1Element wrap(quint8 type, const QAsn1Element &child)
#define QT_REQUIRE_CONFIG(feature)
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_SLOTS
#define Q_PRIVATE_SLOT(d, signature)
#define Q_SIGNALS
view setModel(model)
[17] //! [18]
QSqlQueryModel * model
[16]
wordList<< "alpha"<< "omega"<< "omicron"<< "zeta";QLineEdit *lineEdit=new QLineEdit(this);QCompleter *completer=new QCompleter(wordList, this);completer-> setCaseSensitivity(Qt::CaseInsensitive)
QCompleter * completer
[0]
scrollArea setWidget(imageLabel)