QTreeWidgetItem 类的翻译

QTreeWidgetItem 类的翻译

简介

QTreeWidgetItem 和QTreeWidget 一同是为了实现树状数据类型。

TreeWidget的每个数据项(items)有行和列决定。每个数据项除了包含数据外,还可以包含text lable 或者icon。

数据项(items)建构的时候,指定的父项可以是QTreeWidget (for top-level items)
,也可以是QTreeWidgetItem (for items on lower levels of the tree)。

举一个例子:构建一个上层的数据项cities of the world, 它包含两个子项"Oslo" 和“Yes”:

    
QTreeWidgetItem *cities = new QTreeWidgetItem(treeWidget);
cities->setText(0, tr("Cities"));
QTreeWidgetItem *Ningbo= new QTreeWidgetItem(cities);
osloItem->setText(0, tr("Jiangdong"));
osloItem->setText(1, tr("Yinzhou"));

通过构造函数可以将数据项按一定的次序构建:

QTreeWidgetItem *Zone= new QTreeWidgetItem(treeWidget, cities);
planets->setText(0, tr("Zone"));

每一列中的某一数据项都可以通过函数setBackground()指定它特有的背景颜色。通过background()获取当前背景颜色的笔刷。数据项的文本可以渲染不同的字体和颜色。

QFont font;
font.setPointSize(15);
planets->setBackgroundColor(1,Qt::red);
planets->setFont(1,font);
planets->setForeground(1,Qt::black);

上层数据项(top-level items)和下层数据项(low-level items)的主要区别在于上层数据项(top-level items)不含有父项。

默认情况下,数据项支持选择,确认,拖放的操作。每一个数据项的标志(flags)可以通过函数setFlags()来设定,设定的值可以查阅(Qt::itemFlags)。setCheckState()函数可以配置数据项是否选中确认。 CheckState()函数可以返回当前的数据项是否被选中。

子类化QTreeWidgetItem

子类化QTreeWidgetItem 需要在类构建时指定UserType。

成员函数

1、构造函数

QTreeWidgetItem::QTreeWidgetItem(const QTreeWidgetItem &other)
构造一份QTreeWidgetItem 的拷贝。

QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, QTreeWidgetItem *preceding, int type = Type)
构造一个QTreeWidgetItem,并且插入到parent->preceding之后。

QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, const QStringList &strings, int type = Type)
构造一个QTreeWidgetItem,作为子项插入到parent之后,list of strings
会作为每一列的数据项。

QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, int type = Type)
构造一个QTreeWidgetItem,并且插入作为子项插入到parent之后。

QTreeWidgetItem::QTreeWidgetItem(const QStringList &strings, int type = Type)
构造一个QTreeWidgetItem,list of strings
会作为每一列的数据项。

QTreeWidgetItem::QTreeWidgetItem(int type = Type)
构造一个QTreeWidgetItem。

2、其他成员函数

void QTreeWidgetItem::addChild(QTreeWidgetItem *child)
添加单个子项

void QTreeWidgetItem::addChildren(const QList<QTreeWidgetItem *> &children)
添加多个子项

QBrush QTreeWidgetItem::background(int column) const
返回背景色的笔刷

Qt::CheckState QTreeWidgetItem::checkState(int column) const
返回选中确认的状态

QTreeWidgetItem *QTreeWidgetItem::child(int index) const
返回子项
int QTreeWidgetItem::childCount() const
返回子项的数目

QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem::childIndicatorPolicy() const
返回tree展开或者崩塌时的显示。

QTreeWidgetItem *QTreeWidgetItem::clone() const
深度复制

QVariant QTreeWidgetItem::data(int column, int role) const
返回数据项的列和角色

void QTreeWidgetItem::emitDataChanged()

Qt::ItemFlags QTreeWidgetItem::flags() const
返回数据项的标志

QFont QTreeWidgetItem::font(int column) const
返回数据项使用的字体

QBrush QTreeWidgetItem::foreground(int column) const
返回数据项使用的前景色

QIcon QTreeWidgetItem::icon(int column) const
返回数据项使用的Icon

int QTreeWidgetItem::indexOfChild(QTreeWidgetItem *child) const
返回子项的索引号

void QTreeWidgetItem::insertChild(int index, QTreeWidgetItem *child)
在索引号处插入单个子项

void QTreeWidgetItem::insertChildren(int index, const QList<QTreeWidgetItem *> &children)
在索引号处插入多个子项

bool QTreeWidgetItem::isExpanded() const
返回数据项是否被展开

bool QTreeWidgetItem::isFirstColumnSpanned() const
bool QTreeWidgetItem::isHidden() const
bool QTreeWidgetItem::isSelected() const

QTreeWidgetItem *QTreeWidgetItem::parent() const
返回父项

void QTreeWidgetItem::removeChild(QTreeWidgetItem *child)
删除子项

void QTreeWidgetItem::setChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)
设置是否显示树展开或者崩塌的控件

[virtual]
void QTreeWidgetItem::setData(int column, int role, const QVariant &value)
设置数据项的重载类型

void QTreeWidgetItem::setDisabled(bool disabled)
设置数据项是否有效,如果无效,显示时灰色。

void QTreeWidgetItem::setExpanded(bool expand)
设置数据项是否展开其子项

void QTreeWidgetItem::setFirstColumnSpanned(bool span)
如果span使能,first section 会列出所有的数据项

void QTreeWidgetItem::setFlags(Qt::ItemFlags flags)
设置标志

void QTreeWidgetItem::setFont(int column, const QFont &font)
设置字体

void QTreeWidgetItem::setForeground(int column, const QBrush &brush)
设置字体颜色

void QTreeWidgetItem::setHidden(bool hide)
设置是否隐藏
void QTreeWidgetItem::setIcon(int column, const QIcon &icon)
设置ICon

void QTreeWidgetItem::setSelected(bool select)
void QTreeWidgetItem::setSizeHint(int column, const QSize &size)
void QTreeWidgetItem::setStatusTip(int column, const QString &statusTip)

void QTreeWidgetItem::setText(int column, const QString &text)
设置数据项的文本内容

void QTreeWidgetItem::setTextAlignment(int column, int alignment)
设置数据项的对齐方式

void QTreeWidgetItem::setToolTip(int column, const QString &toolTip)
void QTreeWidgetItem::setWhatsThis(int column, const QString &whatsThis)
QSize QTreeWidgetItem::sizeHint(int column) const

void QTreeWidgetItem::sortChildren(int column, Qt::SortOrder order)
对子项排序

QString QTreeWidgetItem::statusTip(int column) const

QTreeWidgetItem *QTreeWidgetItem::takeChild(int index)
删除单个子项

QList<QTreeWidgetItem *> QTreeWidgetItem::takeChildren()
删除多个子项

QString QTreeWidgetItem::text(int column) const
返回数据项的文本

3、成员函数的简单使用

成员函数内容很多,为了更清楚地了解成员函数的使用,

    //构造一个父项,并指定字体和背景色
    QTreeWidgetItem *Galaxy = new QTreeWidgetItem(ui->treeWidget);
    Galaxy->setText(0, tr("Galaxy"));
    QFont font;
    font.setPointSize(15);
    Galaxy->setBackgroundColor(0,Qt::red);
    Galaxy->setFont(0,font);
    Galaxy->setForeground(0,Qt::black);

    //构造一个父项
    QTreeWidgetItem *Country = new QTreeWidgetItem(ui->treeWidget);
    Country->setText(0,"Country");
    //通过addchild()函数在当前父项下添加子项
    QTreeWidgetItem *CountryItem_0 = new QTreeWidgetItem();
    CountryItem_0->setText(0,"China");
    Country->addChild(CountryItem_0);
    QTreeWidgetItem *CountryItem_1 = new QTreeWidgetItem();
    CountryItem_1->setText(0,"Japan");
    Country->addChild(CountryItem_1);
    //直接通过构造函数生成子项
    QTreeWidgetItem *CountryItem_3 = new QTreeWidgetItem(Country,CountryItem_0);
    CountryItem_3->setText(0,"India");  
    QTreeWidgetItem *CountryItem_4 = new QTreeWidgetItem(Country);
    CountryItem_4->setText(0,"Mongo");


    //构造其他的数据项,不指认其父项
    QTreeWidgetItem *cities = new QTreeWidgetItem();
    cities->setText(0, tr("Cities"));
    QTreeWidgetItem *osloItem = new QTreeWidgetItem(cities);
    osloItem->setText(0, tr("Ningbo"));
    osloItem->setText(1, tr("Hangzhou"));
    osloItem->setCheckState(0,Qt::Unchecked);
    //osloItem->setFlags(Qt::ItemIsUserCheckable);
    //添加到父项下
    CountryItem_0->addChild(cities);
    //child()函数的使用
    QTreeWidgetItem  *ncite =  Country->child(0)->child(0);
    QString strText = ncite->text(0);
    qDebug()<<strText;


    QTreeWidgetItem *top_level_item_0 = new QTreeWidgetItem(ui->treeWidget);
    top_level_item_0->setText(0,"top_level");

    ui->treeWidget->insertTopLevelItem(0, top_level_item_0);

    QList<QTreeWidgetItem *> childrenlist;

    QTreeWidgetItem *child_0= new QTreeWidgetItem();
    child_0->setText(0,"child0");
    QTreeWidgetItem *child_1= new QTreeWidgetItem();
    child_1->setText(0,"child1");
    QTreeWidgetItem *child_2= new QTreeWidgetItem();
    child_2->setText(0,"child2");
    //child_2->setDisabled(1);
    childrenlist<<child_0<<child_1<<child_2;
    //将子项列表添加
    top_level_item_0->addChildren(childrenlist);
    top_level_item_0->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);
    //设置默认树状展开
    top_level_item_0->setExpanded(1);

    ui->treeWidget->show();

效果如下:
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值