QComboBox Class | Qt 4.8 (original) (raw)

Property Documentation

count : const int

This property holds the number of items in the combobox.

By default, for an empty combo box, this property has a value of 0.

Access functions:

currentIndex : int

This property holds the index of the current item in the combobox.

The current index can change when inserting or removing items.

By default, for an empty combo box or a combo box in which no current item is set, this property has a value of -1.

Access functions:

int currentIndex() const
void setCurrentIndex(int index)

Notifier signal:

void currentIndexChanged(int index)
void currentIndexChanged(const QString & text)

currentText : const QString

This property holds the current text.

If the combo box is editable, the current text is the value displayed by the line edit. Otherwise, it is the value of the current item or an empty string if the combo box is empty or no current item is set.

Access functions:

QString currentText() const

See also editable.

duplicatesEnabled : bool

This property holds whether the user can enter duplicate items into the combobox.

Note that it is always possible to programmatically insert duplicate items into the combobox.

By default, this property is false (duplicates are not allowed).

Access functions:

bool duplicatesEnabled() const
void setDuplicatesEnabled(bool enable)

editable : bool

This property holds whether the combo box can be edited by the user.

By default, this property is false. The effect of editing depends on the insert policy.

Access functions:

bool isEditable() const
void setEditable(bool editable)

See also InsertPolicy.

frame : bool

This property holds whether the combo box draws itself with a frame.

If enabled (the default) the combo box draws itself inside a frame, otherwise the combo box draws itself without any frame.

Access functions:

bool hasFrame() const
void setFrame(bool)

iconSize : QSize

This property holds the size of the icons shown in the combobox.

Unless explicitly set this returns the default value of the current style. This size is the maximum size that icons can have; icons of smaller size are not scaled up.

Access functions:

QSize iconSize() const
void setIconSize(const QSize & size)

insertPolicy : InsertPolicy

This property holds the policy used to determine where user-inserted items should appear in the combobox.

The default value is AtBottom, indicating that new items will appear at the bottom of the list of items.

Access functions:

InsertPolicy insertPolicy() const
void setInsertPolicy(InsertPolicy policy)

See also InsertPolicy.

maxCount : int

This property holds the maximum number of items allowed in the combobox.

Note: If you set the maximum number to be less then the current amount of items in the combobox, the extra items will be truncated. This also applies if you have set an external model on the combobox.

By default, this property's value is derived from the highest signed integer available (typically 2147483647).

Access functions:

int maxCount() const
void setMaxCount(int max)

maxVisibleItems : int

This property holds the maximum allowed size on screen of the combo box, measured in items.

By default, this property has a value of 10.

Note: This property is ignored for non-editable comboboxes in styles that returns true for QStyle::SH_ComboBox_Popup such as the Mac style or the Gtk+ Style.

Access functions:

int maxVisibleItems() const
void setMaxVisibleItems(int maxItems)

minimumContentsLength : int

This property holds the minimum number of characters that should fit into the combobox.

The default value is 0.

If this property is set to a positive value, the minimumSizeHint() and sizeHint() take it into account.

Access functions:

int minimumContentsLength() const
void setMinimumContentsLength(int characters)

See also sizeAdjustPolicy.

modelColumn : int

This property holds the column in the model that is visible.

If set prior to populating the combo box, the pop-up view will not be affected and will show the first column (using this property's default value).

By default, this property has a value of 0.

Access functions:

int modelColumn() const
void setModelColumn(int visibleColumn)

sizeAdjustPolicy : SizeAdjustPolicy

This property holds the policy describing how the size of the combobox changes when the content changes.

The default value is AdjustToContentsOnFirstShow.

Access functions:

SizeAdjustPolicy sizeAdjustPolicy() const
void setSizeAdjustPolicy(SizeAdjustPolicy policy)

See also SizeAdjustPolicy.

Member Function Documentation

QComboBox::QComboBox(QWidget * parent = 0)

Constructs a combobox with the given parent, using the default model QStandardItemModel.

QComboBox::~QComboBox()

Destroys the combobox.

[signal] void QComboBox::activated(int index)

This signal is sent when the user chooses an item in the combobox. The item's index is passed. Note that this signal is sent even when the choice is not changed. If you need to know when the choice actually changes, use signal currentIndexChanged().

**Note:**Signal activated is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:

[signal] void QComboBox::activated(const QString & text)

This signal is sent when the user chooses an item in the combobox. The item's text is passed. Note that this signal is sent even when the choice is not changed. If you need to know when the choice actually changes, use signal currentIndexChanged().

**Note:**Signal activated is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:

void QComboBox::addItem(const QString & text, const QVariant & userData = QVariant())

Adds an item to the combobox with the given text, and containing the specified userData (stored in the Qt::UserRole). The item is appended to the list of existing items.

void QComboBox::addItem(const QIcon & icon, const QString & text, const QVariant & userData = QVariant())

Adds an item to the combobox with the given icon and text, and containing the specified userData (stored in the Qt::UserRole). The item is appended to the list of existing items.

void QComboBox::addItems(const QStringList & texts)

Adds each of the strings in the given texts to the combobox. Each item is appended to the list of existing items in turn.

[virtual protected] void QComboBox::changeEvent(QEvent * e)

Reimplemented from QWidget::changeEvent().

[slot] void QComboBox::clear()

Clears the combobox, removing all items.

Note: If you have set an external model on the combobox this model will still be cleared when calling this function.

[slot] void QComboBox::clearEditText()

Clears the contents of the line edit used for editing in the combobox.

QCompleter * QComboBox::completer() const

Returns the completer that is used to auto complete text input for the combobox.

This function was introduced in Qt 4.2.

See also setCompleter() and editable.

Reimplemented from QWidget::contextMenuEvent().

[signal] void QComboBox::editTextChanged(const QString & text)

This signal is emitted when the text in the combobox's line edit widget is changed. The new text is specified by text.

[virtual] bool QComboBox::event(QEvent * event)

Reimplemented from QObject::event().

int QComboBox::findData(const QVariant & data, int role = Qt::UserRole, Qt::MatchFlags flags = static_castQt::MatchFlags ( Qt::MatchExactly | Qt::MatchCaseSensitive )) const

Returns the index of the item containing the given data for the given role; otherwise returns -1.

The flags specify how the items in the combobox are searched.

int QComboBox::findText(const QString & text, Qt::MatchFlags flags = static_castQt::MatchFlags ( Qt::MatchExactly | Qt::MatchCaseSensitive )) const

Returns the index of the item containing the given text; otherwise returns -1.

The flags specify how the items in the combobox are searched.

[virtual protected] void QComboBox::focusInEvent(QFocusEvent * e)

Reimplemented from QWidget::focusInEvent().

[virtual protected] void QComboBox::focusOutEvent(QFocusEvent * e)

Reimplemented from QWidget::focusOutEvent().

[virtual protected] void QComboBox::hideEvent(QHideEvent * e)

Reimplemented from QWidget::hideEvent().

Hides the list of items in the combobox if it is currently visible and resets the internal state, so that if the custom pop-up was shown inside the reimplemented showPopup(), then you also need to reimplement the hidePopup() function to hide your custom pop-up and call the base class implementation to reset the internal state whenever your custom pop-up widget is hidden.

See also showPopup().

[signal] void QComboBox::highlighted(int index)

This signal is sent when an item in the combobox popup list is highlighted by the user. The item's index is passed.

**Note:**Signal highlighted is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:

[signal] void QComboBox::highlighted(const QString & text)

This signal is sent when an item in the combobox popup list is highlighted by the user. The item's text is passed.

**Note:**Signal highlighted is overloaded in this class. To connect to this one using the function pointer syntax, you must specify the signal type in a static cast, as shown in this example:

[protected] void QComboBox::initStyleOption(QStyleOptionComboBox * option) const

Initialize option with the values from this QComboBox. This method is useful for subclasses when they need a QStyleOptionComboBox, but don't want to fill in all the information themselves.

See also QStyleOption::initFrom().

[virtual protected] void QComboBox::inputMethodEvent(QInputMethodEvent * e)

Reimplemented from QWidget::inputMethodEvent().

[virtual protected] QVariant QComboBox::inputMethodQuery(Qt::InputMethodQuery query) const

Reimplemented from QWidget::inputMethodQuery().

void QComboBox::insertItem(int index, const QString & text, const QVariant & userData = QVariant())

Inserts the text and userData (stored in the Qt::UserRole) into the combobox at the given index.

If the index is equal to or higher than the total number of items, the new item is appended to the list of existing items. If the index is zero or negative, the new item is prepended to the list of existing items.

See also insertItems().

void QComboBox::insertItem(int index, const QIcon & icon, const QString & text, const QVariant & userData = QVariant())

Inserts the icon, text and userData (stored in the Qt::UserRole) into the combobox at the given index.

If the index is equal to or higher than the total number of items, the new item is appended to the list of existing items. If the index is zero or negative, the new item is prepended to the list of existing items.

See also insertItems().

void QComboBox::insertItems(int index, const QStringList & list)

Inserts the strings from the list into the combobox as separate items, starting at the index specified.

If the index is equal to or higher than the total number of items, the new items are appended to the list of existing items. If the index is zero or negative, the new items are prepended to the list of existing items.

See also insertItem().

void QComboBox::insertSeparator(int index)

Inserts a separator item into the combobox at the given index.

If the index is equal to or higher than the total number of items, the new item is appended to the list of existing items. If the index is zero or negative, the new item is prepended to the list of existing items.

This function was introduced in Qt 4.4.

See also insertItem().

QVariant QComboBox::itemData(int index, int role = Qt::UserRole) const

Returns the data for the given role in the given index in the combobox, or QVariant::Invalid if there is no data for this role.

See also setItemData().

QAbstractItemDelegate * QComboBox::itemDelegate() const

Returns the item delegate used by the popup list view.

See also setItemDelegate().

QIcon QComboBox::itemIcon(int index) const

Returns the icon for the given index in the combobox.

See also setItemIcon().

QString QComboBox::itemText(int index) const

Returns the text for the given index in the combobox.

See also setItemText().

[virtual protected] void QComboBox::keyPressEvent(QKeyEvent * e)

Reimplemented from QWidget::keyPressEvent().

[virtual protected] void QComboBox::keyReleaseEvent(QKeyEvent * e)

Reimplemented from QWidget::keyReleaseEvent().

QLineEdit * QComboBox::lineEdit() const

Returns the line edit used to edit items in the combobox, or 0 if there is no line edit.

Only editable combo boxes have a line edit.

See also setLineEdit().

[virtual] QSize QComboBox::minimumSizeHint() const

Reimplemented from QWidget::minimumSizeHint().

QAbstractItemModel * QComboBox::model() const

Returns the model used by the combobox.

See also setModel().

[virtual protected] void QComboBox::mousePressEvent(QMouseEvent * e)

Reimplemented from QWidget::mousePressEvent().

[virtual protected] void QComboBox::mouseReleaseEvent(QMouseEvent * e)

Reimplemented from QWidget::mouseReleaseEvent().

[virtual protected] void QComboBox::paintEvent(QPaintEvent * e)

Reimplemented from QWidget::paintEvent().

void QComboBox::removeItem(int index)

Removes the item at the given index from the combobox. This will update the current index if the index is removed.

This function does nothing if index is out of range.

[virtual protected] void QComboBox::resizeEvent(QResizeEvent * e)

Reimplemented from QWidget::resizeEvent().

QModelIndex QComboBox::rootModelIndex() const

Returns the root model item index for the items in the combobox.

See also setRootModelIndex().

void QComboBox::setCompleter(QCompleter * completer)

Sets the completer to use instead of the current completer. If completer is 0, auto completion is disabled.

By default, for an editable combo box, a QCompleter that performs case insensitive inline completion is automatically created.

This function was introduced in Qt 4.2.

See also completer().

[slot] void QComboBox::setEditText(const QString & text)

Sets the text in the combobox's text edit.

void QComboBox::setItemData(int index, const QVariant & value, int role = Qt::UserRole)

Sets the data role for the item on the given index in the combobox to the specified value.

See also itemData().

void QComboBox::setItemDelegate(QAbstractItemDelegate * delegate)

Sets the item delegate for the popup list view. The combobox takes ownership of the delegate.

Warning: You should not share the same instance of a delegate between comboboxes, widget mappers or views. Doing so can cause incorrect or unintuitive editing behavior since each view connected to a given delegate may receive the closeEditor() signal, and attempt to access, modify or close an editor that has already been closed.

See also itemDelegate().

void QComboBox::setItemIcon(int index, const QIcon & icon)

Sets the icon for the item on the given index in the combobox.

See also itemIcon().

void QComboBox::setItemText(int index, const QString & text)

Sets the text for the item on the given index in the combobox.

See also itemText().

void QComboBox::setLineEdit(QLineEdit * edit)

Sets the line edit to use instead of the current line edit widget.

The combo box takes ownership of the line edit.

See also lineEdit().

void QComboBox::setModel(QAbstractItemModel * model)

Sets the model to be model. model must not be 0. If you want to clear the contents of a model, call clear().

See also model() and clear().

void QComboBox::setRootModelIndex(const QModelIndex & index)

Sets the root model item index for the items in the combobox.

See also rootModelIndex().

void QComboBox::setValidator(const QValidator * validator)

Sets the validator to use instead of the current validator.

See also validator().

void QComboBox::setView(QAbstractItemView * itemView)

Sets the view to be used in the combobox popup to the given itemView. The combobox takes ownership of the view.

Note: If you want to use the convenience views (like QListWidget, QTableWidget or QTreeWidget), make sure to call setModel() on the combobox with the convenience widgets model before calling this function.

See also view().

[virtual protected] void QComboBox::showEvent(QShowEvent * e)

Reimplemented from QWidget::showEvent().

Displays the list of items in the combobox. If the list is empty then the no items will be shown.

If you reimplement this function to show a custom pop-up, make sure you call hidePopup() to reset the internal state.

See also hidePopup().

[virtual] QSize QComboBox::sizeHint() const

Reimplemented from QWidget::sizeHint().

This implementation caches the size hint to avoid resizing when the contents change dynamically. To invalidate the cached value change the sizeAdjustPolicy.

const QValidator * QComboBox::validator() const

Returns the validator that is used to constrain text input for the combobox.

See also setValidator() and editable.

QAbstractItemView * QComboBox::view() const

Returns the list view used for the combobox popup.

See also setView().

[virtual protected] void QComboBox::wheelEvent(QWheelEvent * e)

Reimplemented from QWidget::wheelEvent().