Класс QTreeWidget
Класс QTreeWidget предоставляет виджет дерева, использующий предопределённую модель дерева. Подробнее...
| Заголовок: | #include <QTreeWidget> |
| qmake: | QT += widgets |
| Наследуется от: | QTreeView |
Свойства
- columnCount : int
- topLevelItemCount : const int
- 11 свойств унаследовано от QTreeView
- 16 свойств унаследовано от QAbstractItemView
- 3 свойства унаследовано от QAbstractScrollArea
- 6 свойств унаследовано от QFrame
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
Открытые функции
| QTreeWidget(QWidget *parent = nullptr) | |
| virtual | ~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 |
| bool | isPersistentEditorOpen(QTreeWidgetItem *item, int column = 0) const |
| QTreeWidgetItem * | itemAbove(const QTreeWidgetItem *item) const |
| QTreeWidgetItem * | itemAt(const QPoint &p) const |
| QTreeWidgetItem * | itemAt(int x, int y) const |
| QTreeWidgetItem * | itemBelow(const QTreeWidgetItem *item) const |
| QWidget * | itemWidget(QTreeWidgetItem *item, int column) const |
| void | openPersistentEditor(QTreeWidgetItem *item, int column = 0) |
| void | removeItemWidget(QTreeWidgetItem *item, int column) |
| QList<QTreeWidgetItem *> | selectedItems() const |
| void | setColumnCount(int columns) |
| void | setCurrentItem(QTreeWidgetItem *item) |
| void | setCurrentItem(QTreeWidgetItem *item, int column) |
| void | setCurrentItem(QTreeWidgetItem *item, int column, QItemSelectionModel::SelectionFlags command) |
| void | setFirstItemColumnSpanned(const QTreeWidgetItem *item, bool span) |
| void | setHeaderItem(QTreeWidgetItem *item) |
| void | setHeaderLabel(const QString &label) |
| void | setHeaderLabels(const QStringList &labels) |
| void | setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget) |
| int | sortColumn() const |
| void | sortItems(int column, Qt::SortOrder order) |
| QTreeWidgetItem * | takeTopLevelItem(int index) |
| QTreeWidgetItem * | topLevelItem(int index) const |
| int | topLevelItemCount() const |
| QRect | visualItemRect(const QTreeWidgetItem *item) const |
Переопределённые открытые функции
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) override |
- 52 открытых функции унаследовано от QTreeView
- 60 открытых функций унаследовано от QAbstractItemView
- 20 открытых функций унаследовано от QAbstractScrollArea
- 14 открытых функций унаследовано от QFrame
- 214 открытых функций унаследовано от QWidget
- 34 открытых функций унаследовано от 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 общедоступных слотов унаследовано от QTreeView
- 9 общедоступных слотов унаследовано от QAbstractItemView
- 19 общедоступных слотов унаследовано от QWidget
- 1 общедоступный слот унаследовано от 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(const 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) override |
| virtual bool | event(QEvent *e) override |
- 29 защищённых функций унаследовано от QTreeView
- 38 защищённых функций унаследовано от QAbstractItemView
- 20 защищённых функций унаследовано от QAbstractScrollArea
- 4 защищённых функций унаследовано от QFrame
- 35 защищённых функций унаследовано от QWidget
- 9 защищённых функций унаследовано от QObject
- 1 защищённая функция унаследовано от QPaintDevice
Дополнительные унаследованные члены
- 1 общедоступная переменная унаследована от QObject
- 5 статические общедоступные члены унаследовано от QWidget
- 10 статических общедоступных членов унаследовано от QObject
- 4 защищённых слотов унаследовано от QTreeView
- 9 защищённых слотов унаследовано от QAbstractItemView
- 1 защищённый слот унаследовано от QWidget
- 2 защищённых переменных унаследовано от QObject
- 1 защищённый тип унаследовано от QPaintDevice
Подробное описание
Класс 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() указывает, включена ли сортировка.
См. также 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 = nullptr)
Создаёт виджет дерева с заданным parent.
[virtual] 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() и isPersistentEditorOpen().
[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, и он заменяет предыдущий текущий элемент previous.
См. также setCurrentItem().
[override virtual protected] void QTreeWidget::dropEvent(QDropEvent *event)
Переопределено из QAbstractItemView::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, если он редактируется.
[override virtual protected] bool QTreeWidget::event(QEvent *e)
Переопределено из QAbstractItemView::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(const QTreeWidgetItem *item, int column = 0) const
Возвращает QModelIndex, связанную с заданным item в заданном column.
Примечание: В версиях Qt до 5.7 эта функция принимала не-const item.
См. также 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().
bool QTreeWidget::isPersistentEditorOpen(QTreeWidgetItem *item, int column = 0) const
Возвращает, открыт ли постоянный редактор для элемента item в столбце column.
Эта функция была добавлена в Qt 5.10.
См. также openPersistentEditor() и closePersistentEditor().
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().
[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() и isPersistentEditorOpen().
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().
END_OF_DOCUMENT_MARKER ```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() и Классы делегата.
[override virtual] void QTreeWidget::setSelectionModel(QItemSelectionModel *selectionModel)
Реализовано как переопределение QTreeView::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().
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.11/qtreewidget.html