Qt中文手册 之 QTreeWidgetItem

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014746838/article/details/83473102

头文件:#include <QTreeWidgetItem>

成员函数

1、QTreeWidgetItem::QTreeWidgetItem(int type = Type)

    使用类型type构造项,默认类型窗口类型

2、QTreeWidgetItem::QTreeWidgetItem(const QStringList & strings, int type = Type)

   使用字符串列表strings作为项的每一列,构造该项

3、QTreeWidgetItem::QTreeWidgetItem(QTreeWidget * parent,int type = Type)

    指定父类(一个树窗口),构造项

4、QTreeWidgetItem::QTreeWidgetItem(QTreeWidget * parent, constQStringList & strings, int type = Type)

  参见2与3

5、QTreeWidgetItem::QTreeWidgetItem(QTreeWidget * parent,QTreeWidgetItem * preceding, int type = Type)

在preceding项后插入该项

6、QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem * parent,int type = Type)

将项parent作为父对象,构造该项

7、QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem * parent, constQStringList & strings, int type = Type)

参见2与6

8、QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem * parent,QTreeWidgetItem * preceding, int type = Type)

  将项parent作为父对象,并在项preceding后插入

9、QTreeWidgetItem::QTreeWidgetItem(const QTreeWidgetItem & other)

    复制一个项,注意:类型type()和treeWidget()不复制

10、void QTreeWidgetItem::addChild(QTreeWidgetItem * child)

  添加子项

11、void QTreeWidgetItem::addChildren(constQList<QTreeWidgetItem *> & children)

添加子项队列

12、QBrush QTreeWidgetItem::background(int column) const

  设置项的背景色

13、Qt::CheckState QTreeWidgetItem::checkState(int column) const

   返回项中第column的被点击状态:点击Qt::Checked、没有点击Qt::Unchecked、部分点击Qt::PartiallyChecked

14、QTreeWidgetItem * QTreeWidgetItem::child(int index) const

   返回项的子项中索引为index的子项

15、int QTreeWidgetItem::childCount() const

   返回项的子项的数量

16、QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem::childIndicatorPolicy() const

      返回项中子项在折叠和打开时的策略。

QTreeWidgetItem::ShowIndicator 0 The controls for expanding and collapsing will be shown for this item even if there are no children.
QTreeWidgetItem::DontShowIndicator 1 The controls for expanding and collapsing will never be shown even if there are children. If the node is forced open the user will not be able to expand or collapse the item.
QTreeWidgetItem::DontShowIndicatorWhenChildless 2 The controls for expanding and collapsing will be shown if the item contains children.

17、QTreeWidgetItem * QTreeWidgetItem::clone() const

         复制一个项

18、int QTreeWidgetItem::columnCount() const

        返回项包含几列

19、QVariant QTreeWidgetItem::data(int column,int role) const

      返回指定role在第column列的数据。

20、[protected] void QTreeWidgetItem::emitDataChanged()

     发送dataChanged信号。注意:当继承QTreeWidgetItem的子类重新实现data()或setData()时,才调用该函数。

21、Qt::ItemFlags QTreeWidgetItem::flags() const

       返回项的标志,包括是否被点击、是否被编辑、是否被选择等标志。

22、QFont QTreeWidgetItem::font(int column) const

       返回项在第column列的字体

23、QBrush QTreeWidgetItem::foreground(int column) const

       返回项在第column列的前景色

24、QIcon QTreeWidgetItem::icon(int column) const

     返回项在第column列的图标

25、int QTreeWidgetItem::indexOfChild(QTreeWidgetItem * child) const

   返回子项在项中索引

26、void QTreeWidgetItem::insertChild(int index,QTreeWidgetItem * child)

    在指定索引处插入子项child

27、void QTreeWidgetItem::insertChildren(int index, constQList<QTreeWidgetItem *> & children)

     在指定索引index处插入子项列表

28、bool QTreeWidgetItem::isDisabled() const

        该项是否使能

29、bool QTreeWidgetItem::isExpanded() const

      该项是否展开

30、bool QTreeWidgetItem::isFirstColumnSpanned() const

        第一列是否覆盖其他列(只显示第一个,其他不显示)

31、bool QTreeWidgetItem::isHidden() const

     如果该项隐藏了,返回true

32、bool QTreeWidgetItem::isSelected() const

     如果该项被选择了,返回true

33、QTreeWidgetItem * QTreeWidgetItem::parent() const

     返回该项的父对象

34、[virtual] void QTreeWidgetItem::read(QDataStream & in)

    从流in中读取项目。注意只能读到单个项中

35、void QTreeWidgetItem::removeChild(QTreeWidgetItem * child)

    移除子项。注意只是移除子项,并没有删除。

36、void QTreeWidgetItem::setBackground(int column, constQBrush & brush)

  设置该项第column列的背景色

37、void QTreeWidgetItem::setCheckState(int column,Qt::CheckState state)

  设置该项第column列的点击状态

38、void QTreeWidgetItem::setChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)

   设置折叠和展开策略

39、[virtual] void QTreeWidgetItem::setData(int column,int role, const QVariant & value)

    设置第column列指定角色role的数值

40、void QTreeWidgetItem::setDisabled(bool disabled)

     不使能该项

41、void QTreeWidgetItem::setExpanded(bool expand)

     展开该项

42、void QTreeWidgetItem::setFirstColumnSpanned(bool span)

     设置第一列是否遮盖其他列

43、void QTreeWidgetItem::setFlags(Qt::ItemFlags flags)

   设置该项的标志。例如该项是否被选择,是否被点击,是否使能等。

44、void QTreeWidgetItem::setFont(int column, constQFont & font)

  设置该项第column列的字体

45、void QTreeWidgetItem::setForeground(int column, constQBrush & brush)

   设置该项第column列的前景色

46、void QTreeWidgetItem::setHidden(bool hide)

    设置该项是否隐藏

47、void QTreeWidgetItem::setIcon(int column, constQIcon & icon)

     设置该项第column列的图标

48、void QTreeWidgetItem::setSelected(bool select)

  设置该项是否被选择

49、void QTreeWidgetItem::setSizeHint(int column, constQSize & size)

   设置该项第column列的提示大小

50、void QTreeWidgetItem::setStatusTip(int column, constQString & statusTip)

   设置该项第column列的状体提示

51、void QTreeWidgetItem::setText(int column, constQString & text)

设置该项第column列的文本

52、void QTreeWidgetItem::setTextAlignment(int column,int alignment)

   设置该项第column列文本的对齐方式

53、void QTreeWidgetItem::setToolTip(int column, constQString & toolTip)

   设置该项第column列的工具提示

54、void QTreeWidgetItem::setWhatsThis(int column, constQString & whatsThis)

  设置该项第column列的帮助

55、QSize QTreeWidgetItem::sizeHint(int column) const

  返回该项第column列的大小提示

56、void QTreeWidgetItem::sortChildren(int column,Qt::SortOrder order)

    设置该项第column列以指定的order规则排序

57、QString QTreeWidgetItem::statusTip(int column) const

     返回该项第column列的状态提示

58、QTreeWidgetItem * QTreeWidgetItem::takeChild(int index)

    移除在索引index出的项,并返回该项

59、QList<QTreeWidgetItem *> QTreeWidgetItem::takeChildren()

    移除该项的所有子项,并返回子项列表

60、QString QTreeWidgetItem::text(int column) const

      返回该项第column列的文本

61、int QTreeWidgetItem::textAlignment(int column) const

      返回该项第column列文本的对齐方式

62、QString QTreeWidgetItem::toolTip(int column) const

      返回该项第column列的工具提示信息

63、QTreeWidget * QTreeWidgetItem::treeWidget() const

       返回该项所在的tree窗口

64、int QTreeWidgetItem::type() const

      返回该项的类型

65、QString QTreeWidgetItem::whatsThis(int column) const

      返回该项第column列的帮助信息

66、[virtual] void QTreeWidgetItem::write(QDataStream & out) const

      将该项写到输出流,只能是单个项

67、[virtual] bool QTreeWidgetItem::operator<(constQTreeWidgetItem & other) const

       运算符“<”重载,和另一个项比较他们的  文本

68、QTreeWidgetItem & QTreeWidgetItem::operator=(constQTreeWidgetItem & other)

       运算符“=”重载,复制另一个项。

QTreeWidgetItem::addChild(QTreeWidgetItem*)   //用于根节点添加子节点

QTreeWidget::setColumnCount ;                           //用于设置表中的列的列数目,在表头中会有对应的显示,

QTreeWidget::setHeaderHidden();                         //隐藏表头

QTreeWidgetItem::setSortingEnabled(bool)          //可以用来设置是否可以排序,当为true时候,点击表头,会自动排序

openPersistentEditor和closePersistentEditor        //用来控制某一item是否可以编辑

QTreeWidgetItem * QTreeWidget::currentItem ()  //const返回当前的item指针,

int QTreeWidget::currentColumn ()                        // const放回当前item的列编号

QTreeWidgetItem * QTreeWidget::itemAt ( int x, int y ) const返回给定的位置的item指针

QTreeWidgetItem * QTreeWidget::itemBelow ( const QTreeWidgetItem * item ) const       //返回指定的item下面item

QTreeWidgetItem * QTreeWidget::itemAbove ( const QTreeWidgetItem * item ) const       //返回指定的item上面item

查找item时候,通QListWidget和QTableWidget一样,同样有多个查找匹配模式

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

//显示隐藏列:

setSectionHidden(int, bool);isSectionHidden(int);

增加删除顶层用:

addTopLevelItem(QTreeWidgetItem*);

takeTopLeveltem(int);

topLevelItem(int); //返回

topLevelItemCount();

增加删除子层:

addChild(QTreeWidgetItem*);

addChildren(const QList<QTreeWidgetItem*>&);

takeChild(int);

takeChildren();

child(int)  //返回

childCount();

//排序

treeWidget->setSortingEnabled(true);

treeWidget->header()->setSortIndicatorShown(true);

treeWidget->header()->setSortIndicator(0, Qt::AscendingOrder);

//要自定义就用信号

connect( treeWidget->header(), SIGNAL( sectionClicked(int) ), this, SLOT( sectionClickedSlot(int) ) );

添加表头的两种方法

方法一:

QStringList header;

header<<"ECJTU"<<"CERT";

treewidget->setHeaderLabels(header); //设置表头

方法二:

QStringList header;

header<<"ECJTU"<<"CERT";

QTreeWidgetItem *head=new QTreeWidgetItem((QTreeWidget*)0,header);

treewidget->setHeaderItem(head);

初始化用基本用到的:

//this->setMouseTracking(true);

this->setRootIsDecorated(false);

this->setSelectionMode(QAbstractItemView::ExtendedSelection);

this->setStyleSheet("QTreeWidget::item{height:25px}");  //设置行宽,     我也找不到提供的接口  setStyleSheet很强大建议看

this->setColumnWidth(0, 100);  //设置列宽

this->setColumnCount(2);

QStringList lists;

lists << "NO" << "name";

this->setHeaderLabels(lists);

for (int i=0;i<10;i++)

{

QStringList contentList;

contentList << QString("00%1").arg(i) << "boy";

QTreeWidgetItem *pNewItem = new QTreeWidgetItem(this, contentList);  //增加

pNewItem->setBackgroundColor(0, QColor(150,0,0));

pNewItem->setFont(0, QFont());

}

//pNewItemRoot->setExpanded(true);  //展开子项

进阶:

          //加checkbox, icon

          pNewItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsUserCheckable |Qt::ItemIsEnabled);

          pNewItem->setCheckState(0, Qt::Unchecked);

         //pNewItem->setIcon(int , QIcon);

        //向ITEM里放一些QT的控件,如QSpinBox,QComboBox,QPushButton等

         this->setItemWidget(pNewItem, 0, new QSpinBox());

         //获取某项的QRect, 有时候会很有用,如显缩略图:

         QRect rect = this->visualItemRect(QTreeWidgetItem*);

          //右键菜单重写

         contextMenuEvent( QContextMenuEvent * event );或者使用信号itemPressed(QTreeWidgetItem*, int);

        //对头的操作,可以用QLabel或者QTreeWidgetItem对头进行初始化,

         //隐藏头

         header()->hide();

         m_pHeaderView->setClickable(true);  //能够发射sectionClicked(int)信号,可做菜单,

          m_pHeaderView->setMovable(true);

          m_pHeaderView->setResizeMode(0, QHeaderView::Fixed);  //固定列宽

          m_pHeaderView->setDefaultSectionSize(100);  //默认

         //排序

         treeWidget->setSortingEnabled(true);

        treeWidget->header()->setSortIndicatorShown(true);

        treeWidget->header()->setSortIndicator(0, Qt::AscendingOrder);

         treeWidget->header()->setSectionHidden(1, true);//隐藏列

       //要自定义就用信号

        connect( treeWidget->header(), SIGNAL( sectionClicked(int) ), this, SLOT( sectionClickedSlot(int) ) );

QTreeWidget 遍历所有子节点(QTreeWidgetItem)

//ui 文件中定义
//QTreeWidget *treeWidget;

   //遍历treeWidget
   QTreeWidgetItemIterator it(ui.treeWidget);
   while (*it) {
   //do something like
   (*it)->text(0);
   ++it;
}

ui.treeWidget->setRootIsDecorated(false);//隐藏根节点项前的图标

猜你喜欢

转载自blog.csdn.net/u014746838/article/details/83473102