Класс QComboBox
Виджет QComboBox представляет собой комбинированную кнопку и выпадающий список. Подробнее...
| Заголовок: | #include <QComboBox> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| 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) |
| virtual 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) |
Защищённые функции
| virtual 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Документация типов членов
перечисление QComboBox::InsertPolicy
Это перечисление указывает, что должен делать QComboBox, когда пользователь вводит новую строку.
| Константа | Значение | Описание |
|---|---|---|
QComboBox::NoInsert |
0 |
Строка не будет вставлена в раскрывающийся список. |
QComboBox::InsertAtTop |
1 |
Строка будет вставлена как первый элемент в раскрывающийся список. |
QComboBox::InsertAtCurrent |
2 |
Текущий элемент будет заменён на строку. |
QComboBox::InsertAtBottom |
3 |
Строка будет вставлена после последнего элемента в раскрывающемся списке. |
QComboBox::InsertAfterCurrent |
4 |
Строка вставляется после текущего элемента в раскрывающемся списке. |
QComboBox::InsertBeforeCurrent |
5 |
Строка вставляется перед текущим элементом в раскрывающемся списке. |
QComboBox::InsertAlphabetically |
6 |
Строка вставляется в алфавитном порядке в раскрывающемся списке. |
перечисление QComboBox::SizeAdjustPolicy
Это перечисление определяет, как размер подсказки QComboBox должен изменяться при добавлении нового содержимого или изменении содержимого.
| Константа | Значение | Описание |
|---|---|---|
QComboBox::AdjustToContents |
0 |
Раскрывающийся список всегда будет подстраиваться под содержимое. |
QComboBox::AdjustToContentsOnFirstShow |
1 |
Раскрывающийся список будет подстраиваться под содержимое при первом отображении. |
QComboBox::AdjustToMinimumContentsLengthWithIcon |
2 |
Раскрывающийся список будет подстраиваться под minimumContentsLength плюс место для значка. Для повышения производительности используйте эту политику для больших моделей. |
Документация по свойствам
[read-only] count : const int
Это свойство хранит количество элементов в combobox.
По умолчанию, для пустого combo box, это свойство имеет значение 0.
Функции доступа:
| int | count() const |
[read-only, since 5.2] 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 является редактируемым, текущий текст — это значение, отображаемое элементом line edit. В противном случае это значение текущего элемента или пустая строка, если 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.
Примечание: В редактируемом combobox видимый столбец также станет столбцом автодополнения.
Функции доступа:
| int | modelColumn() const |
| void | setModelColumn(int visibleColumn) |
[since 5.15] placeholderText : QString
Устанавливает текст placeholderText, отображаемый, когда не задан допустимый индекс.
placeholderText будет отображаться при установке недопустимого индекса. Текст недоступен в раскрывающемся списке. Если эта функция вызвана до добавления элементов, текст placeholder будет показан, иначе необходимо программно вызвать setCurrentIndex(-1), если требуется отобразить текст placeholder. Установите пустой текст placeholder, чтобы сбросить настройку.
Если 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().
[slot] void QComboBox::clear()
Очищает combobox, удаляя все элементы.
Примечание: если вы установили внешнюю модель на combobox, эта модель всё равно будет очищена при вызове этой функции.
[slot] void QComboBox::clearEditText()
Очищает содержимое поля редактирования, используемого для редактирования в combobox.
[signal] void QComboBox::currentIndexChanged(int index)
Этот сигнал отправляется всякий раз, когда currentIndex в combobox меняется, как через взаимодействие пользователя, так и программно. Передаётся индекс элемента index или -1, если combobox становится пустым или currentIndex был сброшен.
Примечание: Сигнал-уведомление для свойства currentIndex.
[signal, since 5.0] 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.
[slot] void QComboBox::setEditText(const QString &text)
Устанавливает текст text в поле редактирования combobox.
[signal, since 5.14] void QComboBox::textActivated(const QString &text)
Этот сигнал отправляется, когда пользователь выбирает элемент в combobox. Передаётся текст элемента text. Обратите внимание, что этот сигнал отправляется даже когда выбор не изменён. Если вам нужно знать, когда выбор фактически меняется, используйте сигнал currentIndexChanged() или currentTextChanged().
Эта функция была добавлена в Qt 5.14.
[signal, since 5.14] 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.
См. также 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().
[virtual 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.
Если индекс равен или больше общего числа элементов, новый элемент добавляется в конец списка существующих элементов. Если индекс равен нулю или отрицателен, новый элемент добавляется в начало списка существующих элементов.
См. также insertItem().
QVariant QComboBox::itemData(int index, int role = Qt::UserRole) const
Возвращает данные для заданного role в элементе с заданным index в выпадающем списке или недействительное QVariant, если данных для этого 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, или когда поле редактирования заменено вызовом setLineEdit(). Установка делегата для QComboBox, который не является изменяемым, будет проигнорирована.
См. также completer().
void QComboBox::setItemData(int index, const QVariant &value, int role = Qt::UserRole)
Устанавливает данные role для элемента по заданному index в выпадающем списке заданным значением value.
См. также itemData().
void QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)
Устанавливает делегат элементов для представления списка выпадающего списка. Выпадающий список перенимает владение делегатом.
Любой существующий делегат будет удалён, но не удалён. QComboBox не перенимает владение delegate.
Предупреждение: Не следует использовать один и тот же экземпляр делегата для нескольких combobox, мапперов виджетов или представлений. Это может привести к некорректной или неинтуитивной работе редактирования, так как каждое представление, связанное с данным делегатом, может получить сигнал closeEditor() и попытаться получить доступ, изменить или закрыть редактор, который уже был закрыт.
См. также itemDelegate().
void QComboBox::setItemIcon(int index, const QIcon &icon)
Устанавливает иконку для элемента по заданному индексу в combobox.
См. также itemIcon().
void QComboBox::setItemText(int index, const QString &text)
Устанавливает текст для элемента по заданному индексу в combobox.
См. также itemText().
void QComboBox::setLineEdit(QLineEdit *edit)
Устанавливает поле edit для использования вместо текущего виджета поля ввода.
Комбобокс принимает во владение поле ввода.
Примечание: Поскольку поле ввода combobox владеет QCompleter, любые предыдущие вызовы setCompleter() больше не будут иметь эффекта.
См. также lineEdit().
[virtual] void QComboBox::setModel(QAbstractItemModel *model)
Устанавливает модель на model. model не должен быть nullptr. Если вы хотите очистить содержимое модели, вызовите clear().
Примечание: Если combobox редактируемый, то model также будет установлен для completer поля ввода.
См. также model(), clear() и setCompleter().
void QComboBox::setRootModelIndex(const QModelIndex &index)
Устанавливает индекс корневого элемента модели для элементов в combobox.
См. также rootModelIndex().
void QComboBox::setValidator(const QValidator *validator)
Устанавливает validator для использования вместо текущего.
Примечание: Валидатор удаляется, когда свойство editable становится false.
См. также validator().
void QComboBox::setView(QAbstractItemView *itemView)
Устанавливает представление, используемое в всплывающем окне combobox, в указанное itemView. Комбобокс принимает во владение представление.
Примечание: Если вы хотите использовать удобные представления (например, QListWidget, QTableWidget или QTreeWidget), убедитесь, что вы вызовете setModel() для combobox с моделью удобных виджетов перед вызовом этой функции.
См. также view().
[override virtual protected] void QComboBox::showEvent(QShowEvent *e)
Переопределяет: QWidget::showEvent(QShowEvent *event).
[virtual] void QComboBox::showPopup()
Отображает список элементов в combobox. Если список пуст, элементы не будут отображаться.
Если вы переопределяете эту функцию для отображения пользовательского всплывающего окна, убедитесь, что вы вызываете hidePopup() для сброса внутреннего состояния.
См. также hidePopup().
[override virtual] QSize QComboBox::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
Это реализация кэширует размер подсказки, чтобы избежать изменения размера при динамическом изменении содержимого. Чтобы очистить кэшированное значение, измените sizeAdjustPolicy.
const QValidator *QComboBox::validator() const
Возвращает валидатор, используемый для ограничения ввода текста в combobox.
См. также setValidator() и editable.
QAbstractItemView *QComboBox::view() const
Возвращает список представлений, используемый для всплывающего окна combobox.
См. также 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-6.2/qcombobox.html