Описание класса QTreeWidgetКласс QTreeWidget предоставляет структурный вид, который использует предопределённую модель дерева. Далее... #include <QTreeWidget> Унаследован от: QTreeView. Свойства
Открытые функции
Переопределённые открытые функции
Открытые слоты
Сигналы
Защищенные функции
Переопределённые защищённые функции
Дополнительные унаследованные члены
Подробное описаниеКласс QTreeWidget предоставляет структурный вид, который использует предопределённую модель дерева. Класс QTreeWidget - это вспомогательный класс, который предоставляет стандартный виджет-дерево с классическим, основанным на элементах, интерфейсом, похожим на тот, что используется в классе QListView в Qt 3. Этот класс основан на архитектуре модель/представление Qt и использует модель по умолчанию для хранения элементов, каждый из которых является QTreeWidgetItem. Разработчики, которым не нужна гибкость каркаса модель/представление, могут использовать этот класс для очень лёгкого создания простых иерархических списков. Более гибкий подход включает сочетание 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, Программирование модель/представление и Пример "Settings Editor". Описание свойствcolumnCount : intЭто свойство содержит количество столбцов, отображаемых в виджете-дереве. По умолчанию это свойство имеет значение 1. Функции доступа:
topLevelItemCount : const intЭто свойство содержит количество элементов верхнего уровня. По умолчанию это свойство имеет значение 0. Функции доступа:
Смотрите также columnCount() и currentItem(). Описание функций-членовQTreeWidget::QTreeWidget ( QWidget * parent = 0 )Создаёт виджет-дерево с заданным родителем parent. QTreeWidget::~QTreeWidget ()Уничтожает виджет-дерево и все его элементы. void QTreeWidget::addTopLevelItem ( QTreeWidgetItem * item )Добавляет в виджет элемент item как элемент верхнего уровня. Эта функция была введена в Qt 4.1. Смотрите также insertTopLevelItem(). void QTreeWidget::addTopLevelItems ( const QList<QTreeWidgetItem *> & items )Добавляет в виджет список элементов items как элементы верхнего уровня. Смотрите также insertTopLevelItems(). void QTreeWidget::clear () [slot]Очищает виджет-дерево, удаляя все его элементы и выборы. Замечание: Так как каждый элемент удаляется из виджета-дерева перед тем, как он будет уничтожен, то возвращаемое значение QTreeWidgetItem::treeWidget() будет недействительным при вызове из деструктора элемента. Смотрите также takeTopLevelItem(), topLevelItemCount() и columnCount(). void QTreeWidget::closePersistentEditor ( QTreeWidgetItem * item, int column = 0 )Закрывает постоянный редактор для элемента item в заданном столбце column. Эта функция не имеет эффекта, если нет открытого постоянного редактора для этой комбинации элемента и столбца. Смотрите также openPersistentEditor(). void QTreeWidget::collapseItem ( const QTreeWidgetItem * item ) [slot]Закрывает элемент item. Это заставляет дерево, содержащее дочерние элементы, свернуться. Смотрите также expandItem(), currentItem(), itemAt() и topLevelItem(). int QTreeWidget::currentColumn () constВозвращает текущий столбец в виджете-дереве. Эта функция была введена в Qt 4.1. Смотрите также setCurrentItem() и columnCount(). QTreeWidgetItem * QTreeWidget::currentItem () constВозвращает текущий элемент в виджете-дереве. Смотрите также setCurrentItem() и currentItemChanged(). void QTreeWidget::currentItemChanged ( QTreeWidgetItem * current, QTreeWidgetItem * previous ) [signal]Этот сигнал посылается, когда изменяется текущий элемент. Текущий элемент определяется current, и он заменяет предыдущий previous текущий элемент. Смотрите также setCurrentItem(). void QTreeWidget::dropEvent ( QDropEvent * event ) [virtual protected]Переопределено от QWidget::dropEvent(). bool QTreeWidget::dropMimeData ( QTreeWidgetItem * parent, int index, const QMimeData * data, Qt::DropAction action ) [virtual protected]Обрабатывает данные data, доставленные операцией перетаскивания, которая завершилась заданным действием action в индексе index в заданном родительском элементе parent. Реализация по умолчанию возвращает true, если отпускание было успешно обработано, декодируя MIME-данные и вставляя их в модель; в противном случае возвращается false. Смотрите также supportedDropActions(). void QTreeWidget::editItem ( QTreeWidgetItem * item, int column = 0 )Начинает редактирование элемента item в заданном столбце column, если он редактируемый. bool QTreeWidget::event ( QEvent * e ) [virtual protected]Переопределено от QObject::event(). void QTreeWidget::expandItem ( const QTreeWidgetItem * item ) [slot]Раскрывает элемент 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(). QModelIndex QTreeWidget::indexFromItem ( QTreeWidgetItem * item, int column = 0 ) const [protected]Возвращает 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. void QTreeWidget::itemActivated ( QTreeWidgetItem * item, int column ) [signal]Этот сигнал посылается, когда пользователь активирует элемент одиночным или двойным щелчком (в зависимости от платформы, т.е. от подсказки 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. void QTreeWidget::itemChanged ( QTreeWidgetItem * item, int column ) [signal]Этот сигнал посылается, когда изменяется содержимое столбца column в указанном элементе item. void QTreeWidget::itemClicked ( QTreeWidgetItem * item, int column ) [signal]Этот сигнал посылается, когда пользователь щёлкает внутри виджета. Указанный элемент item является элементом, по которому нажали. Столбец column является столбцом элемента, по которому нажали. Если нет элемента, по которому нажали, то сигнал не будет послан. void QTreeWidget::itemCollapsed ( QTreeWidgetItem * item ) [signal]Этот сигнал посылается, когда указанный элемент item сворачивается, так что ни один из его дочерних элементов не отображается. Замечание: Этот сигнал не будет послан, если элемент изменяет своё состояние при вызове collapseAll(). Смотрите также QTreeWidgetItem::isExpanded(), itemExpanded() и collapseItem(). void QTreeWidget::itemDoubleClicked ( QTreeWidgetItem * item, int column ) [signal]Этот сигнал посылается, когда пользователь дважды щёлкает внутри виджета. Указанный элемент item является элементом, по которому нажали, или 0, если нажали не по элементу. Столбец column является столбцом элемента, по которому нажали. Если нет элемента, по которому дважды нажали, то сигнал не будет послан. void QTreeWidget::itemEntered ( QTreeWidgetItem * item, int column ) [signal]Этот сигнал посылается, когда курсор мыши входит в область элемента item по указанному столбцу column. Отслеживание мыши QTreeWidget должно быть включено для работы этой функции. void QTreeWidget::itemExpanded ( QTreeWidgetItem * item ) [signal]Этот сигнал посылается, когда указанный элемент item раскрывается, так что все его дочерние элементы отображаются. Замечание: Этот сигнал не будет послан, если элемент изменяет своё состояние при вызове expandAll(). Смотрите также setItemExpanded(), QTreeWidgetItem::isExpanded(), itemCollapsed() и expandItem(). QTreeWidgetItem * QTreeWidget::itemFromIndex ( const QModelIndex & index ) const [protected]Возвращает указатель на QTreeWidgetItem, связанный с данным индексом index. Смотрите также indexFromItem(). void QTreeWidget::itemPressed ( QTreeWidgetItem * item, int column ) [signal]Этот сигнал посылается, когда пользователь нажимает кнопку мыши внутри виджета. Указанный элемент item является элементом, по которому нажали, или 0, если нажали не по элементу. Столбец column является столбцом элемента, по которому нажали, или -1, если нажали не по элементу. void QTreeWidget::itemSelectionChanged () [signal]Этот сигнал посылается, когда изменяется выбор в виджете-дереве. Текущий выбор может быть определен с помощью selectedItems(). QWidget * QTreeWidget::itemWidget ( QTreeWidgetItem * item, int column ) constВозвращает виджет, отображаемый в ячейке, определенной элементом item и заданным столбцом column. Замечание: Дерево становится владельцем виджета. Эта функция была введена в Qt 4.1. Смотрите также setItemWidget(). QMimeData * QTreeWidget::mimeData ( const QList<QTreeWidgetItem *> items ) const [virtual protected]Возвращает объект, который содержит описание указанного элемента items в последовательной форме. Формат, используемый для описания элементов, берётся из функции mimeTypes(). Если список элементов пустой, то возвращается 0, а не пустой список в последовательной форме. QStringList QTreeWidget::mimeTypes () const [virtual protected]Возвращает список типов 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. void QTreeWidget::scrollToItem ( const QTreeWidgetItem * item, QAbstractItemView::ScrollHint hint = EnsureVisible ) [slot]Удостоверяется, что элемент 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. У заданного виджета widget свойство autoFillBackground должно быть установлено в true, в противном случае фон виджета будет прозрачным, отображая как данные модели, так и элемент виджета-дерева. Эта функция должна использоваться только для отображения статического содержимого на месте элемента виджета-дерева. Если вы хотите отображать пользовательское динамическое содержимое или реализацию пользовательского виджета редактора, используйте вместо этого QTreeView и подкласс QItemDelegate. Эта функция не может быть вызвана до того, как была настроена иерархия, т.е. QTreeWidgetItem, который будет содержать виджет widget, должен быть добавлен в представление перед установкой виджета widget. Замечание: Дерево становится владельцем виджета. Эта функция была введена в Qt 4.1. Смотрите также itemWidget() и Классы делегатов. void QTreeWidget::setSelectionModel ( QItemSelectionModel * selectionModel ) [virtual]Переопределено от QAbstractItemView::setSelectionModel(). int QTreeWidget::sortColumn () constВозвращает столбец, используемый для сортировки содержимого виджета. Эта функция была введена в Qt 4.1. Смотрите также sortItems(). void QTreeWidget::sortItems ( int column, Qt::SortOrder order )Сортирует элементы в виджете в указанном порядке order по значениям в заданном столбце column. Смотрите также sortColumn(). Qt::DropActions QTreeWidget::supportedDropActions () const [virtual protected]Возвращает действия отпускания, поддерживаемые этим представлением. Смотрите также 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(). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |