⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qtreewidget.cpp

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        d->model()->endRemoveRows();        return item;    }    return 0;}/*!  Returns the index of the given top-level \a item, or -1 if the item  cannot be found.  \sa sortItems(), topLevelItemCount() */int QTreeWidget::indexOfTopLevelItem(QTreeWidgetItem *item){    Q_D(QTreeWidget);    return d->model()->tree.indexOf(item);}/*!  \since 4.1  Inserts the list of \a items at \a index in the top level in the view.  \sa addTopLevelItems()*/void QTreeWidget::insertTopLevelItems(int index, const QList<QTreeWidgetItem*> &items){    Q_D(QTreeWidget);    for (int n = 0; n < items.count(); ++n) {        QTreeWidgetItem *item = items.at(n);        Q_ASSERT(!item->view || !item->model || !item->par);        QStack<QTreeWidgetItem*> stack;        stack.push(item);        while (!stack.isEmpty()) {            QTreeWidgetItem *i = stack.pop();            i->view = this;            i->model = d->model();            for (int c = 0; c < i->children.count(); ++c)                stack.push(i->children.at(c));        }    }    d->model()->insertListInTopLevel(index, items);}/*!  Appends the list of \a items as a top-level items in the widget.  \sa insertTopLevelItems()*/void QTreeWidget::addTopLevelItems(const QList<QTreeWidgetItem*> &items){    insertTopLevelItems(topLevelItemCount(), items);}/*!    Returns the item used for the tree widget's header.    \sa setHeaderItem()*/QTreeWidgetItem *QTreeWidget::headerItem() const{    Q_D(const QTreeWidget);    return d->model()->header;}/*!    Sets the header \a item for the tree widget. The label for each column in    the header is supplied by the corresponding label in the item.    \sa headerItem(), setHeaderLabels()*/void QTreeWidget::setHeaderItem(QTreeWidgetItem *item){    Q_D(QTreeWidget);    // FIXME When we by default autogenerate the numbers when NULL then accept this    Q_ASSERT(item);    delete d->model()->header;    item->model = d->model();    item->view = this;    d->model()->header = item;}/*!  Adds a column in the header for each item in the \a labels list, and sets  the label for each column.  Note that setHeaderLabels wont remove existing columns.  \sa setHeaderItem()*/void QTreeWidget::setHeaderLabels(const QStringList &labels){    Q_D(QTreeWidget);    if (columnCount() < labels.count())        setColumnCount(labels.count());    QTreeModel *model = d->model();    QTreeWidgetItem *item = model->header;    for (int i = 0; i < labels.count(); ++i)        item->setText(i, labels.at(i));}/*!    Returns the current item in the tree widget.    \sa setCurrentItem(), currentItemChanged()*/QTreeWidgetItem *QTreeWidget::currentItem() const{    Q_D(const QTreeWidget);    return d->model()->item(currentIndex());}/*!    \since 4.1    Returns the current column in the tree widget.    \sa setCurrentItem(), columnCount()*/int QTreeWidget::currentColumn() const{    return currentIndex().column();}/*!  Sets the current \a item in the tree widget.  Depending on the current selection mode, the item may also be selected.  \sa currentItem(), currentItemChanged()*/void QTreeWidget::setCurrentItem(QTreeWidgetItem *item){    setCurrentItem(item, 0);}/*!  \since 4.1  Sets the current \a item in the tree widget and the curernt column to \a column.  \sa currentItem()*/void QTreeWidget::setCurrentItem(QTreeWidgetItem *item, int column){    Q_D(const QTreeWidget);    if (item)        setCurrentIndex(d->model()->index(item, column));    else        setCurrentIndex(QModelIndex());}/*!  Returns a pointer to the item at the coordinates \a p.  \sa visualItemRect()*/QTreeWidgetItem *QTreeWidget::itemAt(const QPoint &p) const{    Q_D(const QTreeWidget);    return d->model()->item(indexAt(p));}/*!    \fn QTreeWidgetItem *QTreeWidget::itemAt(int x, int y) const    \overload    Returns a pointer to the item at the coordinates (\a x, \a y).*//*!  Returns the rectangle on the viewport occupied by the item at \a item.  \sa itemAt()*/QRect QTreeWidget::visualItemRect(const QTreeWidgetItem *item) const{    Q_ASSERT(item);    Q_D(const QTreeWidget);    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    Q_ASSERT(index.isValid());    return visualRect(index);}/*!  \since 4.1  Returns the column used to sort the contents of the widget.  \sa sortItems()*/int QTreeWidget::sortColumn() const{    return header()->sortIndicatorSection();}/*!  Sorts the items in the widget in the specified \a order by the values in  the given \a column.  \sa sortColumn()*/void QTreeWidget::sortItems(int column, Qt::SortOrder order){    Q_D(QTreeWidget);    header()->setSortIndicator(column, order);    d->model()->sort(column, order);}/*!  If \a enable is true, the items in the widget will be sorted if the user  clicks on a header section; otherwise sorting by clicking on the  header section is disabled.  \sa sortItems(), sortColumn()*/void QTreeWidget::setSortingEnabled(bool enable){    Q_D(QTreeWidget);    d->sortingEnabled = enable;    if (header()->isSortIndicatorShown() != enable) {        header()->setSortIndicatorShown(enable);        header()->setClickable(enable);    }}/*!  Returns true if sorting is enabled; otherwise returns false.  Sorting is enabled when the user clicks on a header section.*/bool QTreeWidget::isSortingEnabled() const{    Q_D(const QTreeWidget);    return d->sortingEnabled;}/*!  Starts editing the \a item in the given \a column if it is editable.*/void QTreeWidget::editItem(QTreeWidgetItem *item, int column){    Q_ASSERT(item);    Q_D(QTreeWidget);    edit(d->model()->index(item, column));}/*!  Opens a persistent editor for the \a item in the given \a column.  \sa closePersistentEditor()*/void QTreeWidget::openPersistentEditor(QTreeWidgetItem *item, int column){    Q_ASSERT(item);    Q_D(QTreeWidget);    QModelIndex index = d->model()->index(item, column);    QAbstractItemView::openPersistentEditor(index);}/*!  Closes the persistent editor for the \a item in the given \a column.  This function has no effect if no persistent editor is open for this  combination of item and column.  \sa openPersistentEditor()*/void QTreeWidget::closePersistentEditor(QTreeWidgetItem *item, int column){    Q_ASSERT(item);    Q_D(QTreeWidget);    QModelIndex index = d->model()->index(item, column);    QAbstractItemView::closePersistentEditor(index);}/*!  \since 4.1  Returns the widget displayed in the cell specified by \a item and the given \a column.*/QWidget *QTreeWidget::itemWidget(QTreeWidgetItem *item, int column) const{    Q_ASSERT(item);    Q_D(const QTreeWidget);    QModelIndex index = d->model()->index(item, column);    return QAbstractItemView::indexWidget(index);}/*!  \since 4.1  Sets the \a widget to be displayed in the cell specified by \a item and the given \a column.  This function should only be used to display static content in the place of a tree  widget item. If you want to display custom dynamic content or implement a custom  editor widget, use QTreeView and subclass QItemDelegate instead.  \sa {Delegate Classes}*/void QTreeWidget::setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget){    Q_ASSERT(item);    Q_ASSERT(widget);    Q_D(QTreeWidget);    QModelIndex index = d->model()->index(item, column);    QAbstractItemView::setIndexWidget(index, widget);}/*!  Returns true if the \a item is selected; otherwise returns false.  \sa itemSelectionChanged()*/bool QTreeWidget::isItemSelected(const QTreeWidgetItem *item) const{    Q_D(const QTreeWidget);    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    return selectionModel()->isSelected(index);}/*!  If \a select is true, the given \a item is selected; otherwise it is  deselected.  \sa itemSelectionChanged()*/void QTreeWidget::setItemSelected(const QTreeWidgetItem *item, bool select){    Q_D(QTreeWidget);    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    selectionModel()->select(index, (select ? QItemSelectionModel::Select                                     : QItemSelectionModel::Deselect)                             |QItemSelectionModel::Rows);}/*!  Returns a list of all selected non-hidden items.  \sa itemSelectionChanged()*/QList<QTreeWidgetItem*> QTreeWidget::selectedItems() const{    Q_D(const QTreeWidget);    QModelIndexList indexes = selectionModel()->selectedIndexes();    QList<QTreeWidgetItem*> items;    for (int i = 0; i < indexes.count(); ++i) {        QTreeWidgetItem *item = d->model()->item(indexes.at(i));        if (!items.contains(item)) // ### slow, optimize later            items.append(item);    }    return items;}/*!  Returns a list of items that match the given \a text, using the given \a flags, in the given \a column.*/QList<QTreeWidgetItem*> QTreeWidget::findItems(const QString &text, Qt::MatchFlags flags, int column) const{    Q_D(const QTreeWidget);    QModelIndexList indexes = d->model()->match(model()->index(0, column, QModelIndex()),                                                Qt::DisplayRole, text, -1, flags);    QList<QTreeWidgetItem*> items;    for (int i = 0; i < indexes.size(); ++i)        items.append(d->model()->item(indexes.at(i)));    return items;}/*!  Returns true if the \a item is explicitly hidden, otherwise returns false.*/bool QTreeWidget::isItemHidden(const QTreeWidgetItem *item) const{    Q_D(const QTreeWidget);    if (item == headerItem())        return header()->isHidden();    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    QModelIndex parent = index.parent();    return isRowHidden(index.row(), parent);}/*!  Hides the given \a item if \a hide is true; otherwise shows the item.  \sa itemChanged()*/void QTreeWidget::setItemHidden(const QTreeWidgetItem *item, bool hide){    Q_D(QTreeWidget);    if (item == headerItem()) {        header()->setHidden(hide);    } else {        QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);        QModelIndex parent = index.parent();        setRowHidden(index.row(), parent, hide);    }}/*!  Returns true if the given \a item is open; otherwise returns false.  \sa itemExpanded()*/bool QTreeWidget::isItemExpanded(const QTreeWidgetItem *item) const{    Q_ASSERT(item);    Q_D(const QTreeWidget);    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    return isExpanded(index);}/*!    Sets the item referred to by \a item to either closed or opened,    depending on the value of \a expand.    \sa expandItem(), collapseItem(), itemExpanded()*/void QTreeWidget::setItemExpanded(const QTreeWidgetItem *item, bool expand){    Q_ASSERT(item);    Q_D(QTreeWidget);    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    Q_ASSERT(index.isValid());    setExpanded(index, expand);}/*!    Ensures that the \a item is visible, scrolling the view if necessary using    the specified \a hint.    \sa currentItem(), itemAt(), topLevelItem()*/void QTreeWidget::scrollToItem(const QTreeWidgetItem *item, ScrollHint hint){    Q_ASSERT(item);    Q_D(QTreeWidget);    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    Q_ASSERT(index.isValid());    QTreeView::scrollTo(index, hint);}/*!    Expands the \a item. This causes the tree containing the item's children    to be expanded.    \sa collapseItem(), currentItem(), itemAt(), topLevelItem(), itemExpanded()*/void QTreeWidget::expandItem(const QTreeWidgetItem *item){    Q_ASSERT(item);    Q_D(QTreeWidget);    QModelIndex index = d->model()->index(const_cast<QTreeWidgetItem*>(item), 0);    expand(index);}/*!    Closes the \a item. This causes the tree containing the item's children    to be collapsed.    \sa expandItem(), currentItem(), itemAt(), topLevelItem()*/void QTreeWidget::co

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -