Класс QListWidget
Класс QListWidget предоставляет виджет списка на основе элементов. Подробнее...
| Заголовок: | #include <QListWidget> |
| qmake: | QT += widgets |
| Наследует: | QListView |
Свойства
- count : const int
- currentRow : int
- sortingEnabled : bool
- 13 свойств унаследовано от QListView
- 16 свойств унаследовано от QAbstractItemView
- 3 свойства унаследовано от QAbstractScrollArea
- 6 свойств унаследовано от QFrame
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
Открытые функции
| QListWidget(QWidget *parent = nullptr) | |
| virtual | ~QListWidget() |
| void | addItem(const QString &label) |
| void | addItem(QListWidgetItem *item) |
| void | addItems(const QStringList &labels) |
| void | closePersistentEditor(QListWidgetItem *item) |
| int | count() const |
| QListWidgetItem * | currentItem() const |
| int | currentRow() const |
| void | editItem(QListWidgetItem *item) |
| QList<QListWidgetItem *> | findItems(const QString &text, Qt::MatchFlags flags) const |
| void | insertItem(int row, QListWidgetItem *item) |
| void | insertItem(int row, const QString &label) |
| void | insertItems(int row, const QStringList &labels) |
| bool | isPersistentEditorOpen(QListWidgetItem *item) const |
| bool | isSortingEnabled() const |
| QListWidgetItem * | item(int row) const |
| QListWidgetItem * | itemAt(const QPoint &p) const |
| QListWidgetItem * | itemAt(int x, int y) const |
| QWidget * | itemWidget(QListWidgetItem *item) const |
| void | openPersistentEditor(QListWidgetItem *item) |
| void | removeItemWidget(QListWidgetItem *item) |
| int | row(const QListWidgetItem *item) const |
| QList<QListWidgetItem *> | selectedItems() const |
| void | setCurrentItem(QListWidgetItem *item) |
| void | setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command) |
| void | setCurrentRow(int row) |
| void | setCurrentRow(int row, QItemSelectionModel::SelectionFlags command) |
| void | setItemWidget(QListWidgetItem *item, QWidget *widget) |
| void | setSortingEnabled(bool enable) |
| void | sortItems(Qt::SortOrder order = Qt::AscendingOrder) |
| QListWidgetItem * | takeItem(int row) |
| QRect | visualItemRect(const QListWidgetItem *item) const |
Переопределённые открытые функции
| virtual void | dropEvent(QDropEvent *event) override |
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) override |
- 32 открытых функции унаследованы от QListView
- 60 открытых функций унаследовано от QAbstractItemView
- 20 открытых функций унаследовано от QAbstractScrollArea
- 14 открытых функций унаследовано от QFrame
- 214 открытых функций унаследовано от QWidget
- 34 открытых функций унаследовано от QObject
- 14 открытых функций унаследовано от QPaintDevice
Открытые слоты
| void | clear() |
| void | scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible) |
- 9 открытых слотов унаследовано от QAbstractItemView
- 19 открытых слотов унаследовано от QWidget
- 1 открытый слот унаследовано от QObject
Сигналы
| void | currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous) |
| void | currentRowChanged(int currentRow) |
| void | currentTextChanged(const QString ¤tText) |
| void | itemActivated(QListWidgetItem *item) |
| void | itemChanged(QListWidgetItem *item) |
| void | itemClicked(QListWidgetItem *item) |
| void | itemDoubleClicked(QListWidgetItem *item) |
| void | itemEntered(QListWidgetItem *item) |
| void | itemPressed(QListWidgetItem *item) |
| void | itemSelectionChanged() |
- 1 сигнал, унаследованный от QListView
- 7 сигналов, унаследованных от QAbstractItemView
- 3 сигнала, унаследованных от QWidget
- 2 сигнала, унаследованных от QObject
Защищённые функции
| virtual bool | dropMimeData(int index, const QMimeData *data, Qt::DropAction action) |
| QModelIndex | indexFromItem(const QListWidgetItem *item) const |
| QListWidgetItem * | itemFromIndex(const QModelIndex &index) const |
| QList<QListWidgetItem *> | items(const QMimeData *data) const |
| virtual QMimeData * | mimeData(const QList<QListWidgetItem *> items) const |
| virtual QStringList | mimeTypes() const |
| virtual Qt::DropActions | supportedDropActions() const |
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
- 28 защищённых функций, унаследованных от QListView
- 38 защищённых функций, унаследованных от QAbstractItemView
- 20 защищённых функций, унаследованных от QAbstractScrollArea
- 4 защищённых функций, унаследованных от QFrame
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 1 общедоступная переменная, унаследованная от QObject
- 5 статические общедоступные члены, унаследованные от QWidget
- 10 статических общедоступных членов, унаследованных от QObject
- 9 защищённых слотов, унаследованных от QAbstractItemView
- 1 защищённый слот, унаследованный от QWidget
- 2 защищённых переменных, унаследованных от QObject
- 1 защищённый тип, унаследованный от QPaintDevice
Подробное описание
Класс QListWidget предоставляет виджет списка, основанный на элементах.
QListWidget — это удобный класс, предоставляющий виджет списка, аналогичный QListView, но с классическим интерфейсом добавления и удаления элементов. QListWidget использует внутреннюю модель для управления каждым QListWidgetItem в списке.
Для более гибкого виджета списка используйте класс QListView со стандартной моделью.
Виджеты списка создаются так же, как и другие виджеты:
QListWidget *listWidget = new QListWidget(this);
Режим выбора selectionMode() виджета списка определяет, сколько элементов в списке можно выбрать одновременно и можно ли создавать сложные выборы элементов. Это можно установить с помощью функции setSelectionMode().
Существует два способа добавления элементов в список: их можно создать с виджетом списка в качестве родительского виджета или создать без родительского виджета и добавить в список позже. Если виджет списка уже существует, когда элементы создаются, первый метод проще в использовании:
new QListWidgetItem(tr("Oak"), listWidget);
new QListWidgetItem(tr("Fir"), listWidget);
new QListWidgetItem(tr("Pine"), listWidget); Если вам нужно вставить новый элемент в список в определённом положении, то его следует создать без родительского виджета. Затем следует использовать функцию insertItem(), чтобы поместить его в список. Виджет списка получит владение элементом.
QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText(itemText);
listWidget->insertItem(row, newItem); Для нескольких элементов можно использовать insertItems() вместо этого. Количество элементов в списке можно найти с помощью функции count(). Чтобы удалить элементы из списка, используйте takeItem().
Текущий элемент в списке можно найти с помощью currentItem() и изменить с помощью setCurrentItem(). Пользователь также может изменить текущий элемент, перемещаясь с помощью клавиатуры или щелкнув по другому элементу. При изменении текущего элемента генерируется сигнал currentItemChanged() с новым текущим элементом и элементом, который был текущим ранее.
См. также QListWidgetItem, QListView, QTreeView, Программирование моделей/представлений и Пример диалога вкладки.
Документация свойств
count : const int
Это свойство содержит количество элементов в списке, включая любые скрытые элементы.
Функции доступа:
| int | count() const |
currentRow : int
Это свойство содержит строку текущего элемента.
В зависимости от текущего режима выбора строка также может быть выбрана.
Функции доступа:
| int | currentRow() const |
| void | setCurrentRow(int row) |
| void | setCurrentRow(int row, QItemSelectionModel::SelectionFlags command) |
Сигнал уведомления:
| void | currentRowChanged(int currentRow) |
sortingEnabled : bool
Это свойство указывает, включена ли сортировка.
Если это свойство true, сортировка включена для списка; если свойство ложно, сортировка отключена.
Значение по умолчанию — ложь.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| bool | isSortingEnabled() const |
| void | setSortingEnabled(bool enable) |
Документация функций-членов
QListWidget::QListWidget(QWidget *parent = nullptr)
Создаёт пустой QListWidget с заданным parent.
[virtual] QListWidget::~QListWidget()
Удаляет виджет списка и все его элементы.
void QListWidget::addItem(const QString &метка)
Вставляет элемент с текстом метка в конец списка виджета.
void QListWidget::addItem(QListWidgetItem *элемент)
Вставляет элемент в конец списка виджета.
Предупреждение: Элемент QListWidgetItem может быть добавлен в QListWidget только один раз. Добавление того же элемента QListWidgetItem несколько раз в QListWidget приведёт к неопределённому поведению.
См. также insertItem().
void QListWidget::addItems(const QStringList &метки)
Вставляет элементы с текстом метки в конец списка виджета.
См. также insertItems().
[slot] void QListWidget::clear()
Удаляет все элементы и выделения в представлении.
Предупреждение: Все элементы будут удалены безвозвратно.
void QListWidget::closePersistentEditor(QListWidgetItem *элемент)
Закрывает постоянный редактор для данного элемента.
См. также openPersistentEditor() и isPersistentEditorOpen().
QListWidgetItem *QListWidget::currentItem() const
Возвращает текущий элемент.
См. также setCurrentItem().
[signal] void QListWidget::currentItemChanged(QListWidgetItem *текущий, QListWidgetItem *предыдущий)
Этот сигнал излучается всякий раз, когда меняется текущий элемент.
предыдущий — это элемент, который ранее имел фокус; текущий — новый текущий элемент.
[signal] void QListWidget::currentRowChanged(int текущаяСтрока)
Этот сигнал излучается всякий раз, когда меняется текущий элемент.
текущаяСтрока — это номер строки текущего элемента. Если текущего элемента нет, текущаяСтрока равна -1.
Примечание: Сигнал-уведомление для свойства currentRow.
[signal] void QListWidget::currentTextChanged(const QString &текущийТекст)
Этот сигнал излучается всякий раз, когда меняется текущий элемент.
текущийТекст — это текстовые данные в текущем элементе. Если текущего элемента нет, текущийТекст недействителен.
[override virtual] void QListWidget::dropEvent(QDropEvent *событие)
Переопределено из QListView::dropEvent().
[virtual protected] bool QListWidget::dropMimeData(int индекс, const QMimeData *данные, Qt::DropAction действие)
Обрабатывает данные, предоставленные внешним перетаскиванием, которое завершилось заданным действием в заданном индексе. Возвращает true если данные и действие могут быть обработаны моделью; в противном случае возвращает false.
См. также supportedDropActions().
void QListWidget::editItem(QListWidgetItem *элемент)
Начинает редактирование элемента, если он редактируемый.
[override virtual protected] bool QListWidget::event(QEvent *e)
Переопределено из QListView::event().
QList<QListWidgetItem *> QListWidget::findItems(const QString &текст, Qt::MatchFlags флаги) const
Ищет элементы с текстом, соответствующим строке текст, используя заданные флаги.
[protected] QModelIndex QListWidget::indexFromItem(const QListWidgetItem *элемент) const
Возвращает QModelIndex, связанный с заданным элементом.
Примечание: В версиях Qt до 5.10 эта функция принимала не-const элемент.
void QListWidget::insertItem(int строка, QListWidgetItem *элемент)
Вставляет элемент в позицию в списке, заданную строкой.
См. также addItem().
void QListWidget::insertItem(int строка, const QString &метка)
Вставляет элемент с текстом метка в список виджета в позиции, заданной строкой.
См. также addItem().
void QListWidget::insertItems(int строка, const QStringList &метки)
Вставляет элементы из списка метки в список, начиная с заданной строки.
См. также insertItem() и addItem().
bool QListWidget::isPersistentEditorOpen(QListWidgetItem *элемент) const
Возвращает значение, указывающее, открыт ли постоянный редактор для элемента элемент.
Эта функция была введена в Qt 5.10.
См. также openPersistentEditor() и closePersistentEditor().
QListWidgetItem *QListWidget::item(int строка) const
Возвращает элемент, занимающий заданную строку в списке, если он задан; в противном случае возвращает 0.
См. также row().
[signal] void QListWidget::itemActivated(QListWidgetItem *элемент)
Этот сигнал излучается, когда элемент активирован. Элемент активируется, когда пользователь нажимает или дважды нажимает на него, в зависимости от конфигурации системы. Он также активируется, когда пользователь нажимает клавишу активации (в Windows и X11 это клавиша Ввод, в Mac OS X это Command+O).
QListWidgetItem *QListWidget::itemAt(const QPoint &p) const
Возвращает указатель на элемент в координатах p. Координаты относительны к области просмотра виджета списка viewport().
QListWidgetItem *QListWidget::itemAt(int x, int y) const
Это перегруженная функция.
Возвращает указатель на элемент в координатах (x, y). Координаты относительны к области просмотра виджета списка viewport().
[signal] void QListWidget::itemChanged(QListWidgetItem *элемент)
Этот сигнал излучается всякий раз, когда изменяются данные элемента.
[signal] void QListWidget::itemClicked(QListWidgetItem *элемент)
Этот сигнал излучается с указанным элементом, когда на элемент в виджете нажата кнопка мыши.
См. также itemPressed() и itemDoubleClicked().
[signal] void QListWidget::itemDoubleClicked(QListWidgetItem *элемент)
Этот сигнал излучается с указанным элементом, когда на элемент в виджете дважды нажата кнопка мыши.
См. также itemClicked() и itemPressed().
[signal] void QListWidget::itemEntered(QListWidgetItem *элемент)
Этот сигнал излучается, когда курсор мыши входит в элемент. Элемент — это элемент, в который вошёл курсор. Этот сигнал излучается только когда mouseTracking включён или когда кнопка мыши нажата при перемещении в элемент.
См. также QWidget::setMouseTracking().
[protected] QListWidgetItem *QListWidget::itemFromIndex(const QModelIndex &индекс) const
Возвращает указатель на QListWidgetItem, связанный с заданным индексом.
[signal] void QListWidget::itemPressed(QListWidgetItem *item)
Этот сигнал генерируется с указанным item, когда кнопка мыши нажимается на элемент в виджете.
См. также itemClicked() и itemDoubleClicked().
[signal] void QListWidget::itemSelectionChanged()
Этот сигнал генерируется всякий раз, когда изменяется выделение.
См. также selectedItems(), QListWidgetItem::isSelected() и currentItemChanged().
QWidget *QListWidget::itemWidget(QListWidgetItem *item) const
Возвращает виджет, отображаемый в заданном item.
Эта функция была добавлена в Qt 4.1.
См. также setItemWidget() и removeItemWidget().
[protected] QList<QListWidgetItem *> QListWidget::items(const QMimeData *data) const
Возвращает список указателей на элементы, содержащиеся в объекте data. Если объект не был создан QListWidget в том же процессе, список пуст.
[virtual protected] QMimeData *QListWidget::mimeData(const QList<QListWidgetItem *> items) const
Возвращает объект, содержащий сериализованное описание указанных items. Формат описания элементов получен из функции mimeTypes().
Если список элементов пуст, возвращается 0 вместо сериализованного пустого списка.
[virtual protected] QStringList QListWidget::mimeTypes() const
Возвращает список MIME-типов, которые могут быть использованы для описания списка элементов listwidget.
См. также mimeData().
void QListWidget::openPersistentEditor(QListWidgetItem *item)
Открывает редактор для заданного item. Редактор остается открытым после редактирования.
См. также closePersistentEditor() и isPersistentEditorOpen().
void QListWidget::removeItemWidget(QListWidgetItem *item)
Удаляет виджет, установленный на данный item.
Для удаления элемента (строки) из списка полностью, либо удалите сам элемент, либо используйте takeItem().
Эта функция была добавлена в Qt 4.3.
См. также itemWidget() и setItemWidget().
int QListWidget::row(const QListWidgetItem *item) const
Возвращает строку, содержащую заданный item.
См. также item().
[slot] void QListWidget::scrollToItem(const QListWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
Прокручивает представление, если необходимо, чтобы item был виден.
hint указывает, где должен находиться item после операции.
QList<QListWidgetItem *> QListWidget::selectedItems() const
Возвращает список всех выделенных элементов в виджете списка.
void QListWidget::setCurrentItem(QListWidgetItem *item)
Устанавливает текущим элементом item.
Если режим выбора не NoSelection, элемент также выделяется.
См. также currentItem().
void QListWidget::setCurrentItem(QListWidgetItem *item, QItemSelectionModel::SelectionFlags command)
Устанавливает текущим элементом item, используя заданное command.
Эта функция была добавлена в Qt 4.4.
void QListWidget::setCurrentRow(int row, QItemSelectionModel::SelectionFlags command)
Устанавливает текущей строкой заданную row, используя заданное command.
Эта функция была добавлена в Qt 4.4.
Примечание: Функция-сеттер для свойства currentRow.
void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget)
Устанавливает widget для отображения в данном item.
Эта функция должна использоваться только для отображения статического содержимого вместо элемента списка. Если вы хотите отобразить пользовательское динамическое содержимое или реализовать пользовательский виджет редактора, используйте QListView и подкласс QItemDelegate вместо этого.
Эта функция была добавлена в Qt 4.1.
См. также itemWidget(), removeItemWidget() и Классы делегатов.
[override virtual] void QListWidget::setSelectionModel(QItemSelectionModel *selectionModel)
Переопределено из QAbstractItemView::setSelectionModel().
void QListWidget::sortItems(Qt::SortOrder order = Qt::AscendingOrder)
Сортирует все элементы в виджете списка в соответствии с указанным order.
[virtual protected] Qt::DropActions QListWidget::supportedDropActions() const
Возвращает действия перетаскивания, поддерживаемые этим представлением.
См. также Qt::DropActions.
QListWidgetItem *QListWidget::takeItem(int row)
Удаляет и возвращает элемент из заданной row в виджете списка; в противном случае возвращает 0.
Элементы, удаленные из виджета списка, не будут управляться Qt и должны быть удалены вручную.
См. также insertItem() и addItem().
QRect QListWidget::visualItemRect(const QListWidgetItem *item) const
Возвращает прямоугольник на области просмотра, занимаемый элементом в item.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qlistwidget.html