Spec-Zone.ru › Qt 5.11

Класс 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 &currentText)
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API