28 Q_PROPERTY(
bool editable READ isEditable WRITE setEditable)
29 Q_PROPERTY(
int count READ count)
30 Q_PROPERTY(QString currentText READ currentText WRITE setCurrentText NOTIFY currentTextChanged
32 Q_PROPERTY(
int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
33 Q_PROPERTY(QVariant currentData READ currentData)
34 Q_PROPERTY(
int maxVisibleItems READ maxVisibleItems WRITE setMaxVisibleItems)
35 Q_PROPERTY(
int maxCount READ maxCount WRITE setMaxCount)
36 Q_PROPERTY(InsertPolicy insertPolicy READ insertPolicy WRITE setInsertPolicy)
37 Q_PROPERTY(SizeAdjustPolicy sizeAdjustPolicy READ sizeAdjustPolicy WRITE setSizeAdjustPolicy)
38 Q_PROPERTY(
int minimumContentsLength READ minimumContentsLength WRITE setMinimumContentsLength)
39 Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
40 Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText)
41 Q_PROPERTY(
bool duplicatesEnabled READ duplicatesEnabled WRITE setDuplicatesEnabled)
42 Q_PROPERTY(
bool frame READ hasFrame WRITE setFrame)
43 Q_PROPERTY(
int modelColumn READ modelColumn WRITE setModelColumn)
44 Q_PROPERTY(LabelDrawingMode labelDrawingMode READ labelDrawingMode WRITE setLabelDrawingMode)
47 explicit QComboBox(QWidget *parent =
nullptr);
50 int maxVisibleItems()
const;
51 void setMaxVisibleItems(
int maxItems);
54 void setMaxCount(
int max);
57 bool duplicatesEnabled()
const;
58 void setDuplicatesEnabled(
bool enable);
61 bool hasFrame()
const;
63 inline int findText(
const QString &text,
64 Qt::MatchFlags flags =
static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive))
const
65 {
return findData(text, Qt::DisplayRole, flags); }
66 int findData(
const QVariant &data,
int role = Qt::UserRole,
67 Qt::MatchFlags flags =
static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive))
const;
80 InsertPolicy insertPolicy()
const;
81 void setInsertPolicy(InsertPolicy policy);
83 enum SizeAdjustPolicy {
85 AdjustToContentsOnFirstShow,
86 AdjustToMinimumContentsLengthWithIcon
88 Q_ENUM(SizeAdjustPolicy)
90 enum class LabelDrawingMode {
94 Q_ENUM(LabelDrawingMode)
96 SizeAdjustPolicy sizeAdjustPolicy()
const;
97 void setSizeAdjustPolicy(SizeAdjustPolicy policy);
98 int minimumContentsLength()
const;
99 void setMinimumContentsLength(
int characters);
100 QSize iconSize()
const;
101 void setIconSize(
const QSize &size);
103 void setPlaceholderText(
const QString &placeholderText);
104 QString placeholderText()
const;
106 bool isEditable()
const;
107 void setEditable(
bool editable);
108 void setLineEdit(QLineEdit *edit);
109 QLineEdit *lineEdit()
const;
110#ifndef QT_NO_VALIDATOR
111 void setValidator(
const QValidator *v);
112 const QValidator *validator()
const;
115#if QT_CONFIG(completer)
116 void setCompleter(QCompleter *c);
117 QCompleter *completer()
const;
120 QAbstractItemDelegate *itemDelegate()
const;
121 void setItemDelegate(QAbstractItemDelegate *delegate);
123 QAbstractItemModel *model()
const;
124 virtual void setModel(QAbstractItemModel *model);
126 QModelIndex rootModelIndex()
const;
127 void setRootModelIndex(
const QModelIndex &index);
129 int modelColumn()
const;
130 void setModelColumn(
int visibleColumn);
132 LabelDrawingMode labelDrawingMode()
const;
133 void setLabelDrawingMode(LabelDrawingMode labelDrawing);
135 int currentIndex()
const;
136 QString currentText()
const;
137 QVariant currentData(
int role = Qt::UserRole)
const;
139 QString itemText(
int index)
const;
140 QIcon itemIcon(
int index)
const;
141 QVariant itemData(
int index,
int role = Qt::UserRole)
const;
143 inline void addItem(
const QString &text,
const QVariant &userData = QVariant());
144 inline void addItem(
const QIcon &icon,
const QString &text,
145 const QVariant &userData = QVariant());
146 inline void addItems(
const QStringList &texts)
147 { insertItems(count(), texts); }
149 inline void insertItem(
int index,
const QString &text,
const QVariant &userData = QVariant());
150 void insertItem(
int index,
const QIcon &icon,
const QString &text,
151 const QVariant &userData = QVariant());
152 void insertItems(
int index,
const QStringList &texts);
153 void insertSeparator(
int index);
155 void removeItem(
int index);
157 void setItemText(
int index,
const QString &text);
158 void setItemIcon(
int index,
const QIcon &icon);
159 void setItemData(
int index,
const QVariant &value,
int role = Qt::UserRole);
161 QAbstractItemView *view()
const;
162 void setView(QAbstractItemView *itemView);
164 QSize sizeHint()
const override;
165 QSize minimumSizeHint()
const override;
167 virtual void showPopup();
168 virtual void hidePopup();
170 bool event(QEvent *event) override;
171 QVariant inputMethodQuery(Qt::InputMethodQuery)
const override;
172 Q_INVOKABLE QVariant inputMethodQuery(Qt::InputMethodQuery query,
const QVariant &argument)
const;
176 void clearEditText();
177 void setEditText(
const QString &text);
178 void setCurrentIndex(
int index);
179 void setCurrentText(
const QString &text);
182 void editTextChanged(
const QString &);
183 void activated(
int index);
184 void textActivated(
const QString &);
185 void highlighted(
int index);
186 void textHighlighted(
const QString &);
187 void currentIndexChanged(
int index);
188 void currentTextChanged(
const QString &);
191 void focusInEvent(QFocusEvent *e) override;
192 void focusOutEvent(QFocusEvent *e) override;
193 void changeEvent(QEvent *e) override;
194 void resizeEvent(QResizeEvent *e) override;
195 void paintEvent(QPaintEvent *e) override;
196 void showEvent(QShowEvent *e) override;
197 void hideEvent(QHideEvent *e) override;
198 void mousePressEvent(QMouseEvent *e) override;
199 void mouseReleaseEvent(QMouseEvent *e) override;
200 void keyPressEvent(QKeyEvent *e) override;
201 void keyReleaseEvent(QKeyEvent *e) override;
202#if QT_CONFIG(wheelevent)
203 void wheelEvent(QWheelEvent *e) override;
205#ifndef QT_NO_CONTEXTMENU
206 void contextMenuEvent(QContextMenuEvent *e) override;
208 void inputMethodEvent(QInputMethodEvent *) override;
209 virtual void initStyleOption(QStyleOptionComboBox *option)
const;
213 QComboBox(QComboBoxPrivate &, QWidget *);
216 Q_DECLARE_PRIVATE(QComboBox)
217 Q_DISABLE_COPY(QComboBox)