Класс QComboBox
Виджет QComboBox представляет собой комбинированную кнопку и выпадающий список. Подробнее...
| Заголовок: | #include <QComboBox> |
| qmake: | QT += widgets |
| Наследует: | QWidget |
| Наследуется от: |
Публичные типы
| перечисление | InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically } |
| перечисление | SizeAdjustPolicy { AdjustToContents, AdjustToContentsOnFirstShow, AdjustToMinimumContentsLengthWithIcon } |
Свойства
|
|
Открытые функции
| QComboBox(QWidget *parent = nullptr) | |
| virtual | ~QComboBox() |
| void | addItem(const QString &text, const QVariant &userData = QVariant()) |
| void | addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant()) |
| void | addItems(const QStringList &texts) |
| QCompleter * | completer() const |
| int | count() const |
| QVariant | currentData(int role = Qt::UserRole) const |
| int | currentIndex() const |
| QString | currentText() const |
| bool | duplicatesEnabled() const |
| int | findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const |
| int | findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const |
| bool | hasFrame() const |
| virtual void | hidePopup() |
| QSize | iconSize() const |
| void | insertItem(int index, const QString &text, const QVariant &userData = QVariant()) |
| void | insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant()) |
| void | insertItems(int index, const QStringList &list) |
| QComboBox::InsertPolicy | insertPolicy() const |
| void | insertSeparator(int index) |
| bool | isEditable() const |
| QVariant | itemData(int index, int role = Qt::UserRole) const |
| QAbstractItemDelegate * | itemDelegate() const |
| QIcon | itemIcon(int index) const |
| QString | itemText(int index) const |
| QLineEdit * | lineEdit() const |
| int | maxCount() const |
| int | maxVisibleItems() const |
| int | minimumContentsLength() const |
| QAbstractItemModel * | model() const |
| int | modelColumn() const |
| QString | placeholderText() const |
| void | removeItem(int index) |
| QModelIndex | rootModelIndex() const |
| void | setCompleter(QCompleter *completer) |
| void | setDuplicatesEnabled(bool enable) |
| void | setEditable(bool editable) |
| void | setFrame(bool) |
| void | setIconSize(const QSize &size) |
| void | setInsertPolicy(QComboBox::InsertPolicy policy) |
| void | setItemData(int index, const QVariant &value, int role = Qt::UserRole) |
| void | setItemDelegate(QAbstractItemDelegate *delegate) |
| void | setItemIcon(int index, const QIcon &icon) |
| void | setItemText(int index, const QString &text) |
| void | setLineEdit(QLineEdit *edit) |
| void | setMaxCount(int max) |
| void | setMaxVisibleItems(int maxItems) |
| void | setMinimumContentsLength(int characters) |
| void | setModel(QAbstractItemModel *model) |
| void | setModelColumn(int visibleColumn) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setRootModelIndex(const QModelIndex &index) |
| void | setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) |
| void | setValidator(const QValidator *validator) |
| void | setView(QAbstractItemView *itemView) |
| virtual void | showPopup() |
| QComboBox::SizeAdjustPolicy | sizeAdjustPolicy() const |
| const QValidator * | validator() const |
| QAbstractItemView * | view() const |
Реализованные публичные функции
| virtual bool | event(QEvent *event) override |
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Открытые слоты
| void | clear() |
| void | clearEditText() |
| void | setCurrentIndex(int index) |
| void | setCurrentText(const QString &text) |
| void | setEditText(const QString &text) |
Сигналы
| void | activated(int index) |
| void | currentIndexChanged(int index) |
| void | currentTextChanged(const QString &text) |
| void | editTextChanged(const QString &text) |
| void | highlighted(int index) |
| void | textActivated(const QString &text) |
| void | textHighlighted(const QString &text) |
Защищенные функции
| void | initStyleOption(QStyleOptionComboBox *option) const |
Переопределенные защищенные функции
| virtual void | changeEvent(QEvent *e) override |
| virtual void | contextMenuEvent(QContextMenuEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *e) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | hideEvent(QHideEvent *e) override |
| virtual void | inputMethodEvent(QInputMethodEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | showEvent(QShowEvent *e) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
Подробное описание
QComboBox предоставляет способ представления списка вариантов пользователю таким образом, чтобы занималось минимальное количество места на экране.
Комбобокс — это элемент управления выбором, который отображает текущий элемент и может отображать список выбираемых элементов. Комбобокс может быть редактируемым, что позволяет пользователю изменять каждый элемент в списке.
Комбобоксы могут содержать пиктограммы и строки; функции insertItem() и setItemText() соответственным образом перегружены. Для редактируемых комбобоксов доступна функция clearEditText(), для очистки отображаемой строки без изменения содержимого комбобокса.
При изменении текущего элемента комбобокса генерируются три сигнала: currentIndexChanged(), currentTextChanged() и activated(). currentIndexChanged() и currentTextChanged() всегда генерируются независимо от того, произведено ли изменение программно или пользователем, в то время как activated() генерируется только при изменении, вызванном взаимодействием пользователя. Сигнал highlighted() генерируется, когда пользователь выделяет элемент в выпадающем списке комбобокса. Все три сигнала существуют в двух версиях, одна с аргументом QString, а другая с аргументом int. Если пользователь выбирает или выделяет пиктограмму, генерируются только сигналы int. При изменении текста редактируемого комбобокса генерируется сигнал editTextChanged().
Когда пользователь вводит новую строку в редактируемый комбобокс, виджет может или не может вставить её и может вставить её в несколько позиций. По умолчанию используется политика InsertAtBottom, но вы можете изменить её с помощью setInsertPolicy().
Можно ограничить ввод в редактируемый комбобокс с помощью QValidator; см. setValidator(). По умолчанию принимается любой ввод.
Комбобокс можно заполнить, используя функции вставки, например, insertItem() и insertItems(). Элементы можно изменить с помощью setItemText(). Элемент можно удалить с помощью removeItem(), а все элементы — с помощью clear(). Текст текущего элемента возвращается с помощью currentText(), а текст элемента с заданным номером возвращается с помощью text(). Текущий элемент можно установить с помощью setCurrentIndex(). Количество элементов в комбобоксе возвращается с помощью count(); максимальное количество элементов можно установить с помощью setMaxCount(). Редактирование можно разрешить с помощью setEditable(). Для редактируемых комбобоксов вы можете установить автозаполнение с помощью setCompleter() и возможность добавления дубликатов с помощью setDuplicatesEnabled().
QComboBox использует модель/вид фреймворк для своего выпадающего списка и для хранения элементов. По умолчанию QStandardItemModel хранит элементы, а подкласс QListView отображает выпадающий список. Вы можете напрямую получить доступ к модели и представлению (с помощью model() и view()), но QComboBox также предоставляет функции для установки и получения данных элементов (например, setItemData() и itemText()). Вы также можете установить новую модель и представление (с помощью setModel() и setView()). Для текста и значка в метке комбобокса используются данные в модели, которые имеют Qt::DisplayRole и Qt::DecorationRole. Обратите внимание, что вы не можете изменить SelectionMode представления view(), например, с помощью setSelectionMode().
См. также QLineEdit, QSpinBox, QRadioButton, QButtonGroup и Руководство по разработке пользовательского интерфейса: Комбо-бокс, выпадающий список.
END_OF_DOCUMENT_MARKERДокументация типов членов
enum QComboBox::InsertPolicy
Этот перечисление определяет, что должен делать QComboBox, когда пользователь вводит новую строку.
| Константа | Значение | Описание |
|---|---|---|
QComboBox::NoInsert |
0 |
Строка не будет вставлена в раскрывающийся список. |
QComboBox::InsertAtTop |
1 |
Строка будет вставлена как первый элемент в раскрывающийся список. |
QComboBox::InsertAtCurrent |
2 |
Текущий элемент будет заменён строкой. |
QComboBox::InsertAtBottom |
3 |
Строка будет вставлена после последнего элемента в раскрывающемся списке. |
QComboBox::InsertAfterCurrent |
4 |
Строка вставляется после текущего элемента в раскрывающемся списке. |
QComboBox::InsertBeforeCurrent |
5 |
Строка вставляется перед текущим элементом в раскрывающемся списке. |
QComboBox::InsertAlphabetically |
6 |
Строка вставляется в алфавитном порядке в раскрывающемся списке. |
enum QComboBox::SizeAdjustPolicy
Этот перечисление определяет, как размер раскрывающегося списка QComboBox должен изменяться при добавлении или изменении содержимого.
| Константа | Значение | Описание |
|---|---|---|
QComboBox::AdjustToContents |
0 |
Раскрывающийся список всегда будет подстраиваться под содержимое |
QComboBox::AdjustToContentsOnFirstShow |
1 |
Раскрывающийся список будет подстраиваться под содержимое при первом отображении. |
QComboBox::AdjustToMinimumContentsLengthWithIcon |
AdjustToContentsOnFirstShow + 2 |
Раскрывающийся список будет подстраиваться под minimumContentsLength плюс место для значка. Для повышения производительности используйте этот режим для больших моделей. |
Свойства
count : const int
Это свойство хранит количество элементов в combobox.
По умолчанию, для пустого combo box, это свойство имеет значение 0.
Функции доступа:
| int | count() const |
currentData : const QVariant
Это свойство хранит данные для текущего элемента.
По умолчанию, для пустого combo box или combo box, в котором не установлен текущий элемент, это свойство содержит недействительный QVariant.
Это свойство было добавлено в Qt 5.2.
Функции доступа:
| QVariant | currentData(int role = Qt::UserRole) const |
currentIndex : int
Это свойство хранит индекс текущего элемента в combobox.
Текущий индекс может изменяться при вставке или удалении элементов.
По умолчанию, для пустого combo box или combo box, в котором не установлен текущий элемент, это свойство имеет значение -1.
Функции доступа:
| int | currentIndex() const |
| void | setCurrentIndex(int index) |
Сигнал уведомления:
| void | currentIndexChanged(int index) |
currentText : QString
Это свойство хранит текущий текст.
Если combo box редактируемый, текущий текст — это значение, отображаемое в строке редактирования. В противном случае это значение текущего элемента или пустая строка, если combo box пуст или не установлен текущий элемент.
Установщик setCurrentText() просто вызывает setEditText(), если combo box редактируемый. В противном случае, если в списке есть совпадающий текст, currentIndex устанавливается в соответствующий индекс.
Функции доступа:
| QString | currentText() const |
| void | setCurrentText(const QString &text) |
Сигнал уведомления:
| void | currentTextChanged(const QString &text) |
См. также editable и setEditText().
duplicatesEnabled : bool
Это свойство определяет, может ли пользователь вводить дубликаты элементов в combobox.
Обратите внимание, что всегда можно программно вставлять дубликаты элементов в combobox.
По умолчанию, это свойство имеет значение false (дубликаты не разрешены).
Функции доступа:
| bool | duplicatesEnabled() const |
| void | setDuplicatesEnabled(bool enable) |
editable : bool
Это свойство определяет, может ли combo box редактироваться пользователем.
По умолчанию, это свойство имеет значение false. Эффект редактирования зависит от политики вставки.
Примечание: При отключении состояния editable, валидатор и автодополнение удаляются.
Функции доступа:
| bool | isEditable() const |
| void | setEditable(bool editable) |
См. также InsertPolicy.
frame : bool
Это свойство определяет, отрисовывает ли combo box себя с рамкой.
Если включено (по умолчанию), combo box отрисовывает себя внутри рамки, в противном случае combo box отрисовывает себя без рамки.
Функции доступа:
| bool | hasFrame() const |
| void | setFrame(bool) |
iconSize : QSize
Это свойство хранит размер значков, отображаемых в combobox.
Если не задано явно, возвращается значение по умолчанию текущего стиля. Этот размер является максимальным размером, который могут иметь значки; значки меньшего размера не масштабируются.
Функции доступа:
| QSize | iconSize() const |
| void | setIconSize(const QSize &size) |
insertPolicy : InsertPolicy
Это свойство хранит политику, используемую для определения того, где должны появляться вставляемые пользователем элементы в combobox.
Значение по умолчанию — InsertAtBottom, указывающее, что новые элементы будут появляться внизу списка элементов.
Функции доступа:
| QComboBox::InsertPolicy | insertPolicy() const |
| void | setInsertPolicy(QComboBox::InsertPolicy policy) |
См. также InsertPolicy.
maxCount : int
Это свойство хранит максимальное количество элементов, разрешенных в combobox.
Примечание: Если вы установите максимальное число меньше текущего количества элементов в combobox, лишние элементы будут усечены. Это также относится к случаю, если вы установили внешнюю модель для combobox.
По умолчанию, значение этого свойства выводится из наибольшего доступного знакового целого числа (обычно 2147483647).
Функции доступа:
| int | maxCount() const |
| void | setMaxCount(int max) |
maxVisibleItems : int
Это свойство хранит максимально допустимый размер на экране combo box, измеренный в элементах.
По умолчанию, это свойство имеет значение 10.
Примечание: Это свойство игнорируется для нередактируемых combobox в стилях, которые возвращают true для QStyle::SH_ComboBox_Popup, таких как стиль Mac или стиль Gtk+.
Функции доступа:
| int | maxVisibleItems() const |
| void | setMaxVisibleItems(int maxItems) |
minimumContentsLength : int
Это свойство хранит минимальное количество символов, которые должны помещаться в combobox.
Значение по умолчанию равно 0.
Если это свойство установлено в положительное значение, minimumSizeHint() и sizeHint() принимают это во внимание.
Функции доступа:
| int | minimumContentsLength() const |
| void | setMinimumContentsLength(int characters) |
См. также sizeAdjustPolicy.
modelColumn : int
Это свойство хранит столбец в модели, который виден.
Если установлено до заполнения combo box, вид всплывающего окна не будет затронут и будет показывать первый столбец (используя значение по умолчанию этого свойства).
По умолчанию, это свойство имеет значение 0.
Функции доступа:
| int | modelColumn() const |
| void | setModelColumn(int visibleColumn) |
placeholderText : QString
Устанавливает текст placeholderText, отображаемый, когда не установлен допустимый индекс.
Текст placeholderText будет показан при установке недопустимого индекса. Текст недоступен в раскрывающемся списке. Когда эта функция вызывается до добавления элементов, текст заполнителя будет показан; в противном случае вам нужно программно вызвать setCurrentIndex(-1), если вы хотите отобразить текст заполнителя. Установите пустой текст заполнителя, чтобы сбросить настройку.
При редактируемости QComboBox используйте QLineEdit::setPlaceholderText() вместо этого.
Это свойство было введено в Qt 5.15.
Функции доступа:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
sizeAdjustPolicy : SizeAdjustPolicy
Это свойство содержит политику, описывающую, как изменяется размер combobox при изменении содержимого.
Значение по умолчанию — AdjustToContentsOnFirstShow.
Функции доступа:
| QComboBox::SizeAdjustPolicy | sizeAdjustPolicy() const |
| void | setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) |
См. также SizeAdjustPolicy.
Документация по членам-функциям
QComboBox::QComboBox(QWidget *parent = nullptr)
Создает combobox с заданным parent, используя модель по умолчанию QStandardItemModel.
[signal] void QComboBox::activated(int index)
Этот сигнал отправляется, когда пользователь выбирает элемент в combobox. Передаётся индекс элемента index. Обратите внимание, что этот сигнал отправляется даже тогда, когда выбор не изменён. Если вам нужно узнать, когда выбор фактически изменился, используйте сигнал currentIndexChanged() или currentTextChanged().
Примечание: Сигнал activated перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя функции Qt предоставляет удобную вспомогательную функцию, как показано в этом примере:
connect(comboBox, QOverload<int>::of(&QComboBox::activated),
[=](int index){ /* ... */ });
[slot] void QComboBox::clear()
Очищает combobox, удаляя все элементы.
Примечание: Если вы установили внешнюю модель на combobox, эта модель всё равно будет очищена при вызове этой функции.
[slot] void QComboBox::clearEditText()
Очищает содержимое поля редактирования, используемого для редактирования в combobox.
[signal] void QComboBox::currentIndexChanged(int index)
Этот сигнал отправляется всякий раз, когда currentIndex в combobox изменяется, либо через пользовательское взаимодействие, либо программно. Передаётся индекс элемента index или -1, если combobox становится пустым или currentIndex был сброшен.
Примечание: Сигнал-уведомление для свойства currentIndex.
Примечание: Сигнал currentIndexChanged перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя функции Qt предоставляет удобную вспомогательную функцию, как показано в этом примере:
connect(comboBox, QOverload<int>::of(&QComboBox::currentIndexChanged),
[=](int index){ /* ... */ }); Эта функция была введена в Qt 4.1.
[signal] void QComboBox::currentTextChanged(const QString &text)
Этот сигнал отправляется всякий раз, когда изменяется currentText. Новое значение передаётся как text.
Примечание: Сигнал-уведомление для свойства currentText.
Эта функция была введена в Qt 5.0.
[signal] void QComboBox::editTextChanged(const QString &text)
Этот сигнал отправляется, когда текст в поле редактирования combobox изменяется. Новый текст задаётся параметром text.
[signal] void QComboBox::highlighted(int index)
Этот сигнал отправляется, когда пользователь выделяет элемент в раскрывающемся списке combobox. Передаётся индекс элемента index.
Примечание: Сигнал highlighted перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя функции Qt предоставляет удобную вспомогательную функцию, как показано в этом примере:
connect(comboBox, QOverload<int>::of(&QComboBox::highlighted),
[=](int index){ /* ... */ });
[slot] void QComboBox::setEditText(const QString &text)
Устанавливает текст text в поле редактирования combobox.
[signal] void QComboBox::textActivated(const QString &text)
Этот сигнал отправляется, когда пользователь выбирает элемент в combobox. Передаётся текст элемента text. Обратите внимание, что этот сигнал отправляется даже тогда, когда выбор не меняется. Если вам нужно узнать, когда выбор фактически изменился, используйте сигнал currentIndexChanged() или currentTextChanged().
Эта функция была введена в Qt 5.14.
[signal] void QComboBox::textHighlighted(const QString &text)
Этот сигнал отправляется, когда пользователь выделяет элемент в раскрывающемся списке combobox. Передаётся текст элемента text.
Эта функция была введена в Qt 5.14.
[virtual] QComboBox::~QComboBox()
Уничтожает combobox.
void QComboBox::addItem(const QString &text, const QVariant &userData = QVariant())
Добавляет элемент в combobox с заданным текстом text и указанным userData (хранится в Qt::UserRole). Элемент добавляется в конец списка.
void QComboBox::addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
Добавляет элемент в combobox с заданным icon и text, и содержащим указанное userData (хранится в Qt::UserRole). Элемент добавляется в конец списка.
void QComboBox::addItems(const QStringList &texts)
Добавляет каждый из строк в заданном texts в combobox. Каждый элемент добавляется в список существующих элементов по очереди.
[override virtual protected] void QComboBox::changeEvent(QEvent *e)
Переопределяет: QWidget::changeEvent(QEvent *event).
QCompleter *QComboBox::completer() const
Возвращает автозаполнятель, используемый для автоматического заполнения текста ввода в combobox.
Эта функция была введена в Qt 4.2.
См. также setCompleter() и editable.
[override virtual protected] void QComboBox::contextMenuEvent(QContextMenuEvent *e)
Переопределяет: QWidget::contextMenuEvent(QContextMenuEvent *event).
[override virtual] bool QComboBox::event(QEvent *event)
Переопределяет: QWidget::event(QEvent *event).
int QComboBox::findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const
Возвращает индекс элемента, содержащего заданные data для заданного role; в противном случае возвращает -1.
flags задают способ поиска элементов в combobox.
int QComboBox::findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const
Возвращает индекс элемента, содержащего заданный text; в противном случае возвращает -1.
flags задают способ поиска элементов в combobox.
[override virtual protected] void QComboBox::focusInEvent(QFocusEvent *e)
Переопределяет: QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected] void QComboBox::focusOutEvent(QFocusEvent *e)
Переопределяет: QWidget::focusOutEvent(QFocusEvent *event).
[override virtual protected] void QComboBox::hideEvent(QHideEvent *e)
Переопределяет: QWidget::hideEvent(QHideEvent *event).
[virtual] void QComboBox::hidePopup()
Скрывает список элементов в выпадающем списке, если он сейчас отображается, и сбрасывает внутреннее состояние, поэтому, если пользовательский всплывающее окно было показано внутри переопределенного showPopup(), вам также необходимо переопределить функцию hidePopup(), чтобы скрыть ваше пользовательское всплывающее окно и вызвать реализацию базового класса, чтобы сбросить внутреннее состояние всякий раз, когда ваше пользовательское всплывающее окно скрыто.
См. также showPopup().
[protected] void QComboBox::initStyleOption(QStyleOptionComboBox *option) const
Инициализирует option значениями из этого QComboBox. Этот метод полезен для подклассов, когда им нужен QStyleOptionComboBox, но они не хотят сами заполнять всю информацию.
См. также QStyleOption::initFrom().
[override virtual protected] void QComboBox::inputMethodEvent(QInputMethodEvent *e)
Переопределяет: QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QComboBox::inputMethodQuery(Qt::InputMethodQuery query) const
Переопределяет: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
void QComboBox::insertItem(int index, const QString &text, const QVariant &userData = QVariant())
Вставляет text и userData (хранится в Qt::UserRole) в выпадающий список в указанный index.
Если индекс равен или больше общего количества элементов, новый элемент добавляется в конец списка существующих элементов. Если индекс равен нулю или отрицателен, новый элемент добавляется в начало списка существующих элементов.
См. также insertItems().
void QComboBox::insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
Вставляет icon, text и userData (хранится в Qt::UserRole) в выпадающий список в указанный index.
Если индекс равен или больше общего количества элементов, новый элемент добавляется в конец списка существующих элементов. Если индекс равен нулю или отрицателен, новый элемент добавляется в начало списка существующих элементов.
См. также insertItems().
void QComboBox::insertItems(int index, const QStringList &list)
Вставляет строки из list в выпадающий список как отдельные элементы, начиная с указанного index.
Если индекс равен или больше общего количества элементов, новые элементы добавляются в конец списка существующих элементов. Если индекс равен нулю или отрицателен, новые элементы добавляются в начало списка существующих элементов.
См. также insertItem().
void QComboBox::insertSeparator(int index)
Вставляет разделитель в выпадающий список в указанный index.
Если индекс равен или больше общего количества элементов, новый элемент добавляется в конец списка существующих элементов. Если индекс равен нулю или отрицателен, новый элемент добавляется в начало списка существующих элементов.
Эта функция была добавлена в Qt 4.4.
См. также insertItem().
QVariant QComboBox::itemData(int index, int role = Qt::UserRole) const
Возвращает данные для заданного role в заданном index в выпадающем списке или QVariant::Invalid, если нет данных для этого role.
См. также setItemData().
QAbstractItemDelegate *QComboBox::itemDelegate() const
Возвращает делегат элементов, используемый для просмотра выпадающего списка.
См. также setItemDelegate().
QIcon QComboBox::itemIcon(int index) const
Возвращает значок для заданного index в выпадающем списке.
См. также setItemIcon().
QString QComboBox::itemText(int index) const
Возвращает текст для заданного index в выпадающем списке.
См. также setItemText().
[override virtual protected] void QComboBox::keyPressEvent(QKeyEvent *e)
Переопределяет: QWidget::keyPressEvent(QKeyEvent *event).
[override virtual protected] void QComboBox::keyReleaseEvent(QKeyEvent *e)
Переопределяет: QWidget::keyReleaseEvent(QKeyEvent *event).
QLineEdit *QComboBox::lineEdit() const
Возвращает поле ввода, используемое для редактирования элементов в выпадающем списке, или nullptr если поля ввода нет.
Только изменяемые выпадающие списки имеют поле ввода.
См. также setLineEdit().
[override virtual] QSize QComboBox::minimumSizeHint() const
Переопределяет функцию доступа к свойству: QWidget::minimumSizeHint.
QAbstractItemModel *QComboBox::model() const
Возвращает модель, используемую выпадающим списком.
См. также setModel().
[override virtual protected] void QComboBox::mousePressEvent(QMouseEvent *e)
Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QComboBox::mouseReleaseEvent(QMouseEvent *e)
Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected] void QComboBox::paintEvent(QPaintEvent *e)
Переопределяет: QWidget::paintEvent(QPaintEvent *event).
void QComboBox::removeItem(int index)
Удаляет элемент с заданным index из выпадающего списка. Это обновит текущий индекс, если индекс будет удален.
Эта функция ничего не делает, если index находится вне диапазона.
[override virtual protected] void QComboBox::resizeEvent(QResizeEvent *e)
Переопределяет: QWidget::resizeEvent(QResizeEvent *event).
QModelIndex QComboBox::rootModelIndex() const
Возвращает индекс корневого элемента модели для элементов в выпадающем списке.
См. также setRootModelIndex().
void QComboBox::setCompleter(QCompleter *completer)
Устанавливает completer для использования вместо текущего. Если completer равен nullptr, автоматическое завершение отключено.
По умолчанию для изменяемого выпадающего списка автоматически создается QCompleter, который выполняет регистронезависимое завершение.
Примечание: Делегат удаляется, когда свойство editable становится false. Установка делегата на QComboBox, который не является изменяемым, будет проигнорирована.
Эта функция была добавлена в Qt 4.2.
См. также completer().
void QComboBox::setItemData(int index, const QVariant &value, int role = Qt::UserRole)
Устанавливает данные role для элемента с заданным index в выпадающем списке на указанное value.
См. также itemData().
END_OF_DOCUMENT_MARKERvoid QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)
Устанавливает делегат элементов для списка выпадающего меню. Комбобокс принимает во владение делегат.
Предупреждение: Не следует использовать один и тот же экземпляр делегата для нескольких комбобоксов, виджетов-мапперов или представлений. Это может привести к некорректной или неинтуитивной работе редактирования, так как каждое представление, связанное с данным делегатом, может получить сигнал closeEditor() и попытаться получить доступ к, изменить или закрыть редактор, который уже был закрыт.
См. также itemDelegate().
void QComboBox::setItemIcon(int index, const QIcon &icon)
Устанавливает иконку для элемента по заданному индексу в комбобоксе.
См. также itemIcon().
void QComboBox::setItemText(int index, const QString &text)
Устанавливает текст для элемента по заданному индексу в комбобоксе.
См. также itemText().
void QComboBox::setLineEdit(QLineEdit *edit)
Устанавливает поле ввода для использования вместо текущего виджета поля ввода.
Комбобокс принимает во владение поле ввода.
См. также lineEdit().
void QComboBox::setModel(QAbstractItemModel *model)
Устанавливает модель в model. model не должен быть nullptr. Если вы хотите очистить содержимое модели, вызовите clear().
void QComboBox::setRootModelIndex(const QModelIndex &index)
Устанавливает индекс корневого элемента модели для элементов в комбобоксе.
См. также rootModelIndex().
void QComboBox::setValidator(const QValidator *validator)
Устанавливает валидатор для использования вместо текущего валидатора.
Примечание: Валидатор удаляется, когда свойство editable становится false.
См. также validator().
void QComboBox::setView(QAbstractItemView *itemView)
Устанавливает представление, используемое в всплывающем меню комбобокса, в заданное itemView. Комбобокс принимает во владение представление.
Примечание: Если вы хотите использовать удобные представления (например, QListWidget, QTableWidget или QTreeWidget), убедитесь, что вы вызываете setModel() на комбобоксе с моделью удобных виджетов перед вызовом этой функции.
См. также view().
[override virtual protected] void QComboBox::showEvent(QShowEvent *e)
Переопределяет: QWidget::showEvent(QShowEvent *event).
[virtual] void QComboBox::showPopup()
Отображает список элементов в комбобоксе. Если список пуст, элементы не будут показаны.
Если вы переопределяете эту функцию для отображения пользовательского всплывающего окна, убедитесь, что вызываете hidePopup() для сброса внутреннего состояния.
См. также hidePopup().
[override virtual] QSize QComboBox::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
Это реализация кэширует размер для избежания перерасчета при динамическом изменении содержимого. Для того, чтобы аннулировать кэшированное значение, измените sizeAdjustPolicy.
const QValidator *QComboBox::validator() const
Возвращает валидатор, используемый для ограничения ввода текста для комбобокса.
См. также setValidator() и editable.
QAbstractItemView *QComboBox::view() const
Возвращает список представлений, используемых для всплывающего меню комбобокса.
См. также setView().
[override virtual protected] void QComboBox::wheelEvent(QWheelEvent *e)
Переопределяет: QWidget::wheelEvent(QWheelEvent *event).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qcombobox.html