Spec-Zone.ru › Qt 5.6

Класс QTreeWidget

Класс QTreeWidget предоставляет вид дерева, использующий предопределённую модель дерева. Подробнее...

Заголовок: #include <QTreeWidget>
qmake: QT += widgets
Наследуется от: QTreeView
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Свойства

  • columnCount : int
  • topLevelItemCount : const int
  • 11 свойств унаследовано от QTreeView
  • 16 свойств унаследовано от QAbstractItemView
  • 3 свойства унаследовано от QAbstractScrollArea
  • 6 свойств унаследовано от QFrame
  • 58 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

Открытые функции

QTreeWidget(QWidget *parent = Q_NULLPTR)
~QTreeWidget()
void addTopLevelItem(QTreeWidgetItem *item)
void addTopLevelItems(const QList<QTreeWidgetItem *> &items)
void closePersistentEditor(QTreeWidgetItem *item, int column = 0)
int columnCount() const
int currentColumn() const
QTreeWidgetItem * currentItem() const
void editItem(QTreeWidgetItem *item, int column = 0)
QList<QTreeWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags, int column = 0) const
QTreeWidgetItem * headerItem() const
int indexOfTopLevelItem(QTreeWidgetItem *item) const
void insertTopLevelItem(int index, QTreeWidgetItem *item)
void insertTopLevelItems(int index, const QList<QTreeWidgetItem *> &items)
QTreeWidgetItem * invisibleRootItem() const
bool isFirstItemColumnSpanned(const QTreeWidgetItem *item) const
QTreeWidgetItem * itemAbove(const QTreeWidgetItem *item) const
QTreeWidgetItem * itemAt(const QPoint &p) const

Переопределённые открытые функции

virtual void setSelectionModel(QItemSelectionModel *selectionModel)
  • 52 открытых функций унаследовано от QTreeView
  • 57 открытых функций унаследовано от QAbstractItemView
  • 20 открытых функций унаследовано от QAbstractScrollArea
  • 14 открытых функций унаследовано от QFrame
  • 211 открытых функций унаследовано от QWidget
  • 31 открытых функций унаследовано от QObject
  • 14 открытых функций унаследовано от QPaintDevice

Открытые слоты

void clear()
void collapseItem(const QTreeWidgetItem *item)
void expandItem(const QTreeWidgetItem *item)
void scrollToItem(const QTreeWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)
  • 8 public slots унаследованных от QTreeView
  • 9 public slots унаследованных от QAbstractItemView
  • 19 public slots унаследованных от QWidget
  • 1 public slot унаследованного от QObject

Сигналы

void currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
void itemActivated(QTreeWidgetItem *item, int column)
void itemChanged(QTreeWidgetItem *item, int column)
void itemClicked(QTreeWidgetItem *item, int column)
void itemCollapsed(QTreeWidgetItem *item)
void itemDoubleClicked(QTreeWidgetItem *item, int column)
void itemEntered(QTreeWidgetItem *item, int column)
void itemExpanded(QTreeWidgetItem *item)
void itemPressed(QTreeWidgetItem *item, int column)
void itemSelectionChanged()
  • 2 сигнала унаследованных от QTreeView
  • 7 сигналов унаследованных от QAbstractItemView
  • 3 сигнала унаследованных от QWidget
  • 2 сигнала унаследованных от QObject

Защищённые функции

virtual bool dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action)
QModelIndex indexFromItem(QTreeWidgetItem *item, int column = 0) const
QTreeWidgetItem * itemFromIndex(const QModelIndex &index) const
virtual QMimeData * mimeData(const QList<QTreeWidgetItem *> items) const
virtual QStringList mimeTypes() const
virtual Qt::DropActions supportedDropActions() const

Переопределённые защищённые функции

virtual void dropEvent(QDropEvent *event)
virtual bool event(QEvent *e)
  • 29 защищённых функций унаследованных от QTreeView
  • 37 защищённых функций унаследованных от QAbstractItemView
  • 20 защищённых функций унаследованных от QAbstractScrollArea
  • 4 защищённых функций унаследованных от QFrame
  • 35 защищённых функций унаследованных от QWidget
  • 9 защищённых функций унаследованных от QObject
  • 1 защищённая функция унаследованная от QPaintDevice

Дополнительные унаследованные члены

  • 5 статических public членов унаследованных от QWidget
  • 11 статических public членов унаследованных от QObject
  • 4 protected slots унаследованных от QTreeView
  • 9 protected slots унаследованных от QAbstractItemView
  • 1 protected slot унаследованный от QWidget

Подробное описание

Класс QTreeWidget предоставляет представление дерева, использующее предопределённую модель дерева.

Класс QTreeWidget — это вспомогательный класс, предоставляющий стандартный виджет дерева с классическим интерфейсом на основе элементов, аналогичным интерфейсу, используемому классом QListView в Qt 3. Этот класс основан на архитектуре Qt Model/View и использует модель по умолчанию для хранения элементов, каждый из которых является QTreeWidgetItem.

Разработчики, которым не нужна гибкость фреймворка Model/View, могут использовать этот класс для очень лёгкого создания простых иерархических списков. Более гибкий подход предполагает объединение QTreeView с стандартной моделью элементов. Это позволяет разделить хранение данных от их представления.

В самом простом случае виджет дерева может быть создан следующим образом:

QTreeWidget *treeWidget = new QTreeWidget();
treeWidget->setColumnCount(1);
QList<QTreeWidgetItem *> items;
for (int i = 0; i < 10; ++i)
    items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
treeWidget->insertTopLevelItems(0, items);

Перед добавлением элементов в виджет дерева необходимо установить количество столбцов с помощью setColumnCount(). Это позволяет каждому элементу иметь один или несколько меток или других декораций. Количество используемых столбцов можно найти с помощью функции columnCount().

Дерево может иметь заголовок, содержащий раздел для каждого столбца в виджете. Проще всего настроить метки для каждого раздела, предоставив список строк с помощью setHeaderLabels(), но можно создать пользовательский заголовок с помощью QTreeWidgetItem и вставить его в дерево с помощью функции setHeaderItem().

Элементы в дереве могут быть отсортированы по столбцу в соответствии с предопределённым порядком сортировки. Если сортировка включена, пользователь может отсортировать элементы, щелкнув по заголовку столбца. Сортировку можно включить или выключить, вызвав setSortingEnabled(). Функция isSortingEnabled() указывает, включена ли сортировка.

Скриншот дерева виджета в стиле Windows Vista
Скриншот виджета дерева в стиле Macintosh
Скриншот виджета дерева стиля Fusion
Дерево виджета стиля Windows Vista. Дерево виджета стиля Macintosh. Дерево виджета стиля Fusion.

См. также QTreeWidgetItem, QTreeWidgetItemIterator, QTreeView, Программирование модели/представления и Пример редактора настроек.

Документация свойств

columnCount : int

Это свойство содержит количество столбцов, отображаемых в виджете дерева.

По умолчанию это свойство имеет значение 1.

Функции доступа:

int columnCount() const
void setColumnCount(int columns)

topLevelItemCount : const int

Это свойство содержит количество элементов верхнего уровня.

По умолчанию это свойство имеет значение 0.

Функции доступа:

int topLevelItemCount() const

См. также columnCount() и currentItem().

Документация по членам-функциям

QTreeWidget::QTreeWidget(QWidget *parent = Q_NULLPTR)

Создает виджет дерева с заданным parent.

QTreeWidget::~QTreeWidget()

Удаляет виджет дерева и все его элементы.

void QTreeWidget::addTopLevelItem(QTreeWidgetItem *item)

Добавляет item как элемент верхнего уровня в виджет.

Эта функция была добавлена в Qt 4.1.

См. также insertTopLevelItem().

void QTreeWidget::addTopLevelItems(const QList<QTreeWidgetItem *> &items)

Добавляет список items как элементы верхнего уровня в виджет.

См. также insertTopLevelItems().

[slot] void QTreeWidget::clear()

Очищает виджет дерева, удаляя все его элементы и выделения.

Примечание: Поскольку каждый элемент удаляется из виджета дерева перед удалением, возвращаемое значение QTreeWidgetItem::treeWidget() будет недопустимым, если вызвать его из деструктора элемента.

См. также takeTopLevelItem(), topLevelItemCount() и columnCount().

void QTreeWidget::closePersistentEditor(QTreeWidgetItem *item, int column = 0)

Закрывает постоянный редактор для item в заданном column.

Эта функция не имеет эффекта, если для этой комбинации элемента и столбца нет открытого постоянного редактора.

См. также openPersistentEditor().

[slot] void QTreeWidget::collapseItem(const QTreeWidgetItem *item)

Закрывает item. Это приводит к тому, что дерево, содержащее дочерние элементы элемента, сворачивается.

См. также expandItem(), currentItem(), itemAt() и topLevelItem().

int QTreeWidget::currentColumn() const

Возвращает текущий столбец в виджете дерева.

Эта функция была добавлена в Qt 4.1.

См. также setCurrentItem() и columnCount().

QTreeWidgetItem *QTreeWidget::currentItem() const

Возвращает текущий элемент в виджете дерева.

См. также setCurrentItem() и currentItemChanged().

[signal] void QTreeWidget::currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)

Этот сигнал излучается, когда текущий элемент изменяется. Текущий элемент задается current, и это заменяет предыдущий текущий элемент.

См. также setCurrentItem().

[virtual protected] void QTreeWidget::dropEvent(QDropEvent *event)

Переопределено из QWidget::dropEvent().

[virtual protected] bool QTreeWidget::dropMimeData(QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action)

Обрабатывает data, предоставленное операцией перетаскивания и помещения, которая завершилась заданным action в index в заданном элементе parent.

Реализация по умолчанию возвращает true если сброс успешно обработан путем декодирования данных MIME и вставки их в модель; в противном случае возвращает false.

См. также supportedDropActions().

void QTreeWidget::editItem(QTreeWidgetItem *item, int column = 0)

Начинает редактирование item в заданном column, если он редактируемый.

[virtual protected] bool QTreeWidget::event(QEvent *e)

Переопределено из QObject::event().

[slot] void QTreeWidget::expandItem(const QTreeWidgetItem *item)

Развертывает item. Это приводит к развертыванию дерева, содержащего дочерние элементы элемента.

См. также collapseItem(), currentItem(), itemAt(), topLevelItem() и itemExpanded().

QList<QTreeWidgetItem *> QTreeWidget::findItems(const QString &text, Qt::MatchFlags flags, int column = 0) const

Возвращает список элементов, которые соответствуют заданному text, используя заданные flags, в заданном column.

QTreeWidgetItem *QTreeWidget::headerItem() const

Возвращает элемент, используемый для заголовка виджета дерева.

См. также setHeaderItem().

[protected] QModelIndex QTreeWidget::indexFromItem(QTreeWidgetItem *item, int column = 0) const

Возвращает QModelIndex, связанную с заданным item в заданном column.

См. также itemFromIndex() и topLevelItem().

int QTreeWidget::indexOfTopLevelItem(QTreeWidgetItem *item) const

Возвращает индекс заданного верхнего уровня item или -1, если элемент не найден.

См. также sortItems() и topLevelItemCount().

void QTreeWidget::insertTopLevelItem(int index, QTreeWidgetItem *item)

Вставляет item в позицию index на верхнем уровне в представлении.

Если элемент уже был вставлен где-то еще, он не будет вставлен.

См. также addTopLevelItem() и columnCount().

void QTreeWidget::insertTopLevelItems(int index, const QList<QTreeWidgetItem *> &items)

Вставляет список items в позицию index на верхнем уровне в представлении.

Элементы, которые уже были вставлены где-то еще, не будут вставлены.

Эта функция была введена в Qt 4.1.

См. также addTopLevelItems().

QTreeWidgetItem *QTreeWidget::invisibleRootItem() const

Возвращает невидимый корневой элемент виджета дерева.

Невидимый корневой элемент обеспечивает доступ к элементам верхнего уровня виджета дерева через API QTreeWidgetItem, что позволяет создавать функции, которые могут обрабатывать элементы верхнего уровня и их потомков одинаково; например, рекурсивные функции.

Эта функция была введена в Qt 4.2.

bool QTreeWidget::isFirstItemColumnSpanned(const QTreeWidgetItem *item) const

Возвращает true если заданный item настроен на отображение только одного раздела по всем столбцам; в противном случае возвращает false.

Эта функция была введена в Qt 4.3.

См. также setFirstItemColumnSpanned().

QTreeWidgetItem *QTreeWidget::itemAbove(const QTreeWidgetItem *item) const

Возвращает элемент, расположенный над заданным item.

Эта функция была введена в Qt 4.3.

[signal] void QTreeWidget::itemActivated(QTreeWidgetItem *item, int column)

Этот сигнал излучается, когда пользователь активирует элемент одиночным или двойным щелчком (в зависимости от платформы, т.е. от подсказки стиля QStyle::SH_ItemView_ActivateItemOnSingleClick) или нажатием специальной клавиши (например, Enter).

Указанный item — это элемент, который был нажат, или 0, если никакой элемент не был нажат. column — это столбец элемента, который был нажат, или -1, если никакой элемент не был нажат.

QTreeWidgetItem *QTreeWidget::itemAt(const QPoint &p) const

Возвращает указатель на элемент в координатах p. Координаты относительны к области рисования виджета дерева viewport().

См. также visualItemRect().

QTreeWidgetItem *QTreeWidget::itemAt(int x, int y) const

Это перегруженная функция.

Возвращает указатель на элемент в координатах (x, y). Координаты относительны к области рисования виджета дерева viewport().

QTreeWidgetItem *QTreeWidget::itemBelow(const QTreeWidgetItem *item) const

Возвращает элемент, расположенный под заданным item.

Эта функция была введена в Qt 4.3.

[signal] void QTreeWidget::itemChanged(QTreeWidgetItem *item, int column)

Этот сигнал излучается, когда содержимое column в указанном item изменяется.

[signal] void QTreeWidget::itemClicked(QTreeWidgetItem *item, int column)

Этот сигнал излучается, когда пользователь щелкает внутри виджета.

Указанный item — это элемент, который был нажат. column — это столбец элемента, который был нажат. Если никакой элемент не был нажат, сигнал не будет излучен.

[signal] void QTreeWidget::itemCollapsed(QTreeWidgetItem *item)

Этот сигнал излучается, когда указанный item свернут, так что его дочерние элементы не отображаются.

Примечание: Этот сигнал не будет излучен, если элемент изменит свое состояние при вызове collapseAll().

См. также QTreeWidgetItem::isExpanded(), itemExpanded() и collapseItem().

[signal] void QTreeWidget::itemDoubleClicked(QTreeWidgetItem *item, int column)

Этот сигнал излучается, когда пользователь дважды щелкает внутри виджета.

Указанный item — это элемент, который был нажат, или 0, если никакой элемент не был нажат. column — это столбец элемента, который был нажат. Если никакой элемент не был дважды нажат, сигнал не будет излучен.

[signal] void QTreeWidget::itemEntered(QTreeWidgetItem *item, int column)

Этот сигнал излучается, когда курсор мыши входит в item над указанным column. Для работы этой функции требуется отслеживание нажатий мыши в QTreeWidget.

[signal] void QTreeWidget::itemExpanded(QTreeWidgetItem *item)

Этот сигнал излучается, когда указанный item развернут, так что все его дочерние элементы отображаются.

Примечание: Этот сигнал не будет излучен, если элемент изменит свое состояние при вызове expandAll().

См. также setItemExpanded(), QTreeWidgetItem::isExpanded(), itemCollapsed() и expandItem().

[protected] QTreeWidgetItem *QTreeWidget::itemFromIndex(const QModelIndex &index) const

Возвращает указатель на QTreeWidgetItem, связанный с заданным index.

См. также indexFromItem().

END_OF_DOCUMENT_MARKER

[signal] void QTreeWidget::itemPressed(QTreeWidgetItem *item, int column)

Этот сигнал испускается, когда пользователь нажимает кнопку мыши внутри виджета.

Указанный элемент item — это элемент, на который был нажат щелчок, или 0, если ни один элемент не был нажат. Столбец column — это столбец элемента, на который был нажат щелчок, или -1, если ни один элемент не был нажат.

[signal] void QTreeWidget::itemSelectionChanged()

Этот сигнал испускается, когда изменяется выделение в виджете дерева. Текущее выделение можно найти с помощью selectedItems().

QWidget *QTreeWidget::itemWidget(QTreeWidgetItem *item, int column) const

Возвращает виджет, отображаемый в ячейке, заданной элементом item и заданным столбцом column.

Эта функция была введена в Qt 4.1.

См. также setItemWidget().

[virtual protected] QMimeData *QTreeWidget::mimeData(const QList<QTreeWidgetItem *> items) const

Возвращает объект, содержащий сериализованное описание указанных элементов items. Формат, используемый для описания элементов, получается из функции mimeTypes().

Если список элементов пуст, возвращается 0, а не сериализованный пустой список.

[virtual protected] QStringList QTreeWidget::mimeTypes() const

Возвращает список типов MIME, которые могут быть использованы для описания списка элементов виджета дерева.

См. также mimeData().

void QTreeWidget::openPersistentEditor(QTreeWidgetItem *item, int column = 0)

Открывает постоянный редактор для элемента item в заданном столбце column.

См. также closePersistentEditor().

void QTreeWidget::removeItemWidget(QTreeWidgetItem *item, int column)

Удаляет виджет, установленный в заданном элементе item в заданном столбце column.

Эта функция была введена в Qt 4.3.

[slot] void QTreeWidget::scrollToItem(const QTreeWidgetItem *item, QAbstractItemView::ScrollHint hint = EnsureVisible)

Обеспечивает видимость элемента item, прокручивая представление при необходимости с использованием указанного параметра hint.

См. также currentItem(), itemAt() и topLevelItem().

QList<QTreeWidgetItem *> QTreeWidget::selectedItems() const

Возвращает список всех выделенных нескрываемых элементов.

См. также itemSelectionChanged().

void QTreeWidget::setCurrentItem(QTreeWidgetItem *item)

Устанавливает текущий элемент item в виджете дерева.

Если режим выбора не NoSelection, элемент также выбирается.

См. также currentItem() и currentItemChanged().

void QTreeWidget::setCurrentItem(QTreeWidgetItem *item, int column)

Устанавливает текущий элемент item в виджете дерева и текущий столбец в column.

Эта функция была введена в Qt 4.1.

См. также currentItem().

void QTreeWidget::setCurrentItem(QTreeWidgetItem *item, int column, QItemSelectionModel::SelectionFlags command)

Устанавливает текущий элемент item в виджете дерева и текущий столбец в column, используя заданную команду command.

Эта функция была введена в Qt 4.4.

См. также currentItem().

void QTreeWidget::setFirstItemColumnSpanned(const QTreeWidgetItem *item, bool span)

Устанавливает заданный элемент item для отображения только одного раздела для всех столбцов, если span равно true; в противном случае элемент будет отображать по одному разделу на столбец.

Эта функция была введена в Qt 4.3.

См. также isFirstItemColumnSpanned().

void QTreeWidget::setHeaderItem(QTreeWidgetItem *item)

Устанавливает заголовок item для виджета дерева. Метка каждого столбца в заголовке предоставляется соответствующей меткой в элементе.

Виджет дерева принимает владение элементом.

См. также headerItem() и setHeaderLabels().

void QTreeWidget::setHeaderLabel(const QString &label)

То же самое, что и setHeaderLabels(QStringList(label)).

Эта функция была введена в Qt 4.2.

void QTreeWidget::setHeaderLabels(const QStringList &labels)

Добавляет столбец в заголовок для каждого элемента в списке labels и устанавливает метку для каждого столбца.

Обратите внимание, что setHeaderLabels() не удалит существующие столбцы.

См. также setHeaderItem() и setHeaderLabel().

void QTreeWidget::setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget)

Устанавливает данный widget для отображения в ячейке, заданной данным item и column.

Свойство autoFillBackground данного widget должно быть установлено в значение true, иначе фон виджета будет прозрачным, что отобразит как данные модели, так и элемент виджета дерева.

Эта функция должна использоваться только для отображения статического содержимого вместо элемента виджета дерева. Если вы хотите отобразить пользовательское динамическое содержимое или реализовать пользовательский виджет редактора, используйте QTreeView и подкласс QItemDelegate вместо этого.

Эта функция не может быть вызвана до того, как иерархия элементов будет настроена, т. е. QTreeWidgetItem, который будет содержать widget, должен быть добавлен в представление до того, как widget будет установлен.

Примечание: Дерево принимает владение виджетом.

Эта функция была введена в Qt 4.1.

См. также itemWidget() и Классы делегатов.

[virtual] void QTreeWidget::setSelectionModel(QItemSelectionModel *selectionModel)

Переопределено из QAbstractItemView::setSelectionModel().

int QTreeWidget::sortColumn() const

Возвращает столбец, используемый для сортировки содержимого виджета.

Эта функция была введена в Qt 4.1.

См. также sortItems().

void QTreeWidget::sortItems(int column, Qt::SortOrder order)

Сортирует элементы в виджете в заданном order по значениям в заданном столбце column.

См. также sortColumn().

[virtual protected] Qt::DropActions QTreeWidget::supportedDropActions() const

Возвращает действия переноса, поддерживаемые этим представлением.

См. также Qt::DropActions.

QTreeWidgetItem *QTreeWidget::takeTopLevelItem(int index)

Удаляет элемент верхнего уровня по заданному index в дереве и возвращает его, в противном случае возвращает 0;

См. также insertTopLevelItem(), topLevelItem() и topLevelItemCount().

QTreeWidgetItem *QTreeWidget::topLevelItem(int index) const

Возвращает элемент верхнего уровня по заданному index или 0, если элемент не существует.

См. также topLevelItemCount() и insertTopLevelItem().

END_OF_DOCUMENT_MARKER

QRect QTreeWidget::visualItemRect(const QTreeWidgetItem *item) const

Возвращает прямоугольник на области просмотра, занимаемый элементом в item.

См. также itemAt().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qtreewidget.html

Spec-Zone.ru

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