27 Q_PROPERTY(
bool editable READ isEditable WRITE setEditable)
28 Q_PROPERTY(
int count READ count)
29 Q_PROPERTY(QString currentText READ currentText WRITE setCurrentText NOTIFY currentTextChanged
31 Q_PROPERTY(
int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
32 Q_PROPERTY(QVariant currentData READ currentData)
33 Q_PROPERTY(
int maxVisibleItems READ maxVisibleItems WRITE setMaxVisibleItems)
34 Q_PROPERTY(
int maxCount READ maxCount WRITE setMaxCount)
35 Q_PROPERTY(InsertPolicy insertPolicy READ insertPolicy WRITE setInsertPolicy)
36 Q_PROPERTY(SizeAdjustPolicy sizeAdjustPolicy READ sizeAdjustPolicy WRITE setSizeAdjustPolicy)
37 Q_PROPERTY(
int minimumContentsLength READ minimumContentsLength WRITE setMinimumContentsLength)
38 Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
39 Q_PROPERTY(QString placeholderText READ placeholderText WRITE setPlaceholderText)
40 Q_PROPERTY(
bool duplicatesEnabled READ duplicatesEnabled WRITE setDuplicatesEnabled)
41 Q_PROPERTY(
bool frame READ hasFrame WRITE setFrame)
42 Q_PROPERTY(
int modelColumn READ modelColumn WRITE setModelColumn)
43 Q_PROPERTY(LabelDrawingMode labelDrawingMode READ labelDrawingMode WRITE setLabelDrawingMode)
46 explicit QComboBox(QWidget *parent =
nullptr);
49 int maxVisibleItems()
const;
50 void setMaxVisibleItems(
int maxItems);
53 void setMaxCount(
int max);
56 bool duplicatesEnabled()
const;
57 void setDuplicatesEnabled(
bool enable);
60 bool hasFrame()
const;
62 inline int findText(
const QString &text,
63 Qt::MatchFlags flags =
static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive))
const
64 {
return findData(text, Qt::DisplayRole, flags); }
65 int findData(
const QVariant &data,
int role = Qt::UserRole,
66 Qt::MatchFlags flags =
static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive))
const;
79 InsertPolicy insertPolicy()
const;
80 void setInsertPolicy(InsertPolicy policy);
82 enum SizeAdjustPolicy {
84 AdjustToContentsOnFirstShow,
85 AdjustToMinimumContentsLengthWithIcon
87 Q_ENUM(SizeAdjustPolicy)
89 enum class LabelDrawingMode {
93 Q_ENUM(LabelDrawingMode)
95 SizeAdjustPolicy sizeAdjustPolicy()
const;
96 void setSizeAdjustPolicy(SizeAdjustPolicy policy);
97 int minimumContentsLength()
const;
98 void setMinimumContentsLength(
int characters);
99 QSize iconSize()
const;
100 void setIconSize(
const QSize &size);
102 void setPlaceholderText(
const QString &placeholderText);
103 QString placeholderText()
const;
105 bool isEditable()
const;
106 void setEditable(
bool editable);
107 void setLineEdit(QLineEdit *edit);
108 QLineEdit *lineEdit()
const;
109#ifndef QT_NO_VALIDATOR
110 void setValidator(
const QValidator *v);
111 const QValidator *validator()
const;
114#if QT_CONFIG(completer)
115 void setCompleter(QCompleter *c);
116 QCompleter *completer()
const;
119 QAbstractItemDelegate *itemDelegate()
const;
120 void setItemDelegate(QAbstractItemDelegate *delegate);
122 QAbstractItemModel *model()
const;
123 virtual void setModel(QAbstractItemModel *model);
125 QModelIndex rootModelIndex()
const;
126 void setRootModelIndex(
const QModelIndex &index);
128 int modelColumn()
const;
129 void setModelColumn(
int visibleColumn);
131 LabelDrawingMode labelDrawingMode()
const;
132 void setLabelDrawingMode(LabelDrawingMode labelDrawing);
134 int currentIndex()
const;
135 QString currentText()
const;
136 QVariant currentData(
int role = Qt::UserRole)
const;
138 QString itemText(
int index)
const;
139 QIcon itemIcon(
int index)
const;
140 QVariant itemData(
int index,
int role = Qt::UserRole)
const;
142 inline void addItem(
const QString &text,
const QVariant &userData = QVariant());
143 inline void addItem(
const QIcon &icon,
const QString &text,
144 const QVariant &userData = QVariant());
145 inline void addItems(
const QStringList &texts)
146 { insertItems(count(), texts); }
148 inline void insertItem(
int index,
const QString &text,
const QVariant &userData = QVariant());
149 void insertItem(
int index,
const QIcon &icon,
const QString &text,
150 const QVariant &userData = QVariant());
151 void insertItems(
int index,
const QStringList &texts);
152 void insertSeparator(
int index);
154 void removeItem(
int index);
156 void setItemText(
int index,
const QString &text);
157 void setItemIcon(
int index,
const QIcon &icon);
158 void setItemData(
int index,
const QVariant &value,
int role = Qt::UserRole);
160 QAbstractItemView *view()
const;
161 void setView(QAbstractItemView *itemView);
163 QSize sizeHint()
const override;
164 QSize minimumSizeHint()
const override;
166 virtual void showPopup();
167 virtual void hidePopup();
169 bool event(QEvent *event) override;
170 QVariant inputMethodQuery(Qt::InputMethodQuery)
const override;
171 Q_INVOKABLE QVariant inputMethodQuery(Qt::InputMethodQuery query,
const QVariant &argument)
const;
175 void clearEditText();
176 void setEditText(
const QString &text);
177 void setCurrentIndex(
int index);
178 void setCurrentText(
const QString &text);
181 void editTextChanged(
const QString &);
182 void activated(
int index);
183 void textActivated(
const QString &);
184 void highlighted(
int index);
185 void textHighlighted(
const QString &);
186 void currentIndexChanged(
int index);
187 void currentTextChanged(
const QString &);
190 void focusInEvent(QFocusEvent *e) override;
191 void focusOutEvent(QFocusEvent *e) override;
192 void changeEvent(QEvent *e) override;
193 void resizeEvent(QResizeEvent *e) override;
194 void paintEvent(QPaintEvent *e) override;
195 void showEvent(QShowEvent *e) override;
196 void hideEvent(QHideEvent *e) override;
197 void mousePressEvent(QMouseEvent *e) override;
198 void mouseReleaseEvent(QMouseEvent *e) override;
199 void keyPressEvent(QKeyEvent *e) override;
200 void keyReleaseEvent(QKeyEvent *e) override;
201#if QT_CONFIG(wheelevent)
202 void wheelEvent(QWheelEvent *e) override;
204#ifndef QT_NO_CONTEXTMENU
205 void contextMenuEvent(QContextMenuEvent *e) override;
207 void inputMethodEvent(QInputMethodEvent *) override;
208 virtual void initStyleOption(QStyleOptionComboBox *option)
const;
212 QComboBox(QComboBoxPrivate &, QWidget *);
215 Q_DECLARE_PRIVATE(QComboBox)
216 Q_DISABLE_COPY(QComboBox)