QTreeWidgetItem 类的翻译
文章目錄
- QTreeWidgetItem 類的翻譯
- 簡(jiǎn)介
- 子類化QTreeWidgetItem
- 1、構(gòu)造函數(shù)
- 2、其他成員函數(shù)
- 3、成員函數(shù)的簡(jiǎn)單使用
QTreeWidgetItem 類的翻譯
簡(jiǎn)介
QTreeWidgetItem 和QTreeWidget 一同是為了實(shí)現(xiàn)樹狀數(shù)據(jù)類型。
TreeWidget的每個(gè)數(shù)據(jù)項(xiàng)(items)有行和列決定。每個(gè)數(shù)據(jù)項(xiàng)除了包含數(shù)據(jù)外,還可以包含text lable 或者icon。
數(shù)據(jù)項(xiàng)(items)建構(gòu)的時(shí)候,指定的父項(xiàng)可以是QTreeWidget (for top-level items)
,也可以是QTreeWidgetItem (for items on lower levels of the tree)。
舉一個(gè)例子:構(gòu)建一個(gè)上層的數(shù)據(jù)項(xiàng)cities of the world, 它包含兩個(gè)子項(xiàng)"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"));通過構(gòu)造函數(shù)可以將數(shù)據(jù)項(xiàng)按一定的次序構(gòu)建:
QTreeWidgetItem *Zone= new QTreeWidgetItem(treeWidget, cities); planets->setText(0, tr("Zone"));每一列中的某一數(shù)據(jù)項(xiàng)都可以通過函數(shù)setBackground()指定它特有的背景顏色。通過background()獲取當(dāng)前背景顏色的筆刷。數(shù)據(jù)項(xiàng)的文本可以渲染不同的字體和顏色。
QFont font;
font.setPointSize(15);
planets->setBackgroundColor(1,Qt::red);
planets->setFont(1,font);
planets->setForeground(1,Qt::black);
上層數(shù)據(jù)項(xiàng)(top-level items)和下層數(shù)據(jù)項(xiàng)(low-level items)的主要區(qū)別在于上層數(shù)據(jù)項(xiàng)(top-level items)不含有父項(xiàng)。
默認(rèn)情況下,數(shù)據(jù)項(xiàng)支持選擇,確認(rèn),拖放的操作。每一個(gè)數(shù)據(jù)項(xiàng)的標(biāo)志(flags)可以通過函數(shù)setFlags()來設(shè)定,設(shè)定的值可以查閱(Qt::itemFlags)。setCheckState()函數(shù)可以配置數(shù)據(jù)項(xiàng)是否選中確認(rèn)。 CheckState()函數(shù)可以返回當(dāng)前的數(shù)據(jù)項(xiàng)是否被選中。
子類化QTreeWidgetItem
子類化QTreeWidgetItem 需要在類構(gòu)建時(shí)指定UserType。
成員函數(shù)
1、構(gòu)造函數(shù)
QTreeWidgetItem::QTreeWidgetItem(const QTreeWidgetItem &other)
構(gòu)造一份QTreeWidgetItem 的拷貝。
QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, QTreeWidgetItem *preceding, int type = Type)
構(gòu)造一個(gè)QTreeWidgetItem,并且插入到parent->preceding之后。
QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, const QStringList &strings, int type = Type)
構(gòu)造一個(gè)QTreeWidgetItem,作為子項(xiàng)插入到parent之后,list of strings
會(huì)作為每一列的數(shù)據(jù)項(xiàng)。
QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, int type = Type)
構(gòu)造一個(gè)QTreeWidgetItem,并且插入作為子項(xiàng)插入到parent之后。
QTreeWidgetItem::QTreeWidgetItem(const QStringList &strings, int type = Type)
構(gòu)造一個(gè)QTreeWidgetItem,list of strings
會(huì)作為每一列的數(shù)據(jù)項(xiàng)。
QTreeWidgetItem::QTreeWidgetItem(int type = Type)
構(gòu)造一個(gè)QTreeWidgetItem。
2、其他成員函數(shù)
void QTreeWidgetItem::addChild(QTreeWidgetItem *child)
添加單個(gè)子項(xiàng)
void QTreeWidgetItem::addChildren(const QList<QTreeWidgetItem *> &children)
添加多個(gè)子項(xiàng)
QBrush QTreeWidgetItem::background(int column) const
返回背景色的筆刷
Qt::CheckState QTreeWidgetItem::checkState(int column) const
返回選中確認(rèn)的狀態(tài)
QTreeWidgetItem *QTreeWidgetItem::child(int index) const
返回子項(xiàng)
int QTreeWidgetItem::childCount() const
返回子項(xiàng)的數(shù)目
QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem::childIndicatorPolicy() const
返回tree展開或者崩塌時(shí)的顯示。
QTreeWidgetItem *QTreeWidgetItem::clone() const
深度復(fù)制
QVariant QTreeWidgetItem::data(int column, int role) const
返回?cái)?shù)據(jù)項(xiàng)的列和角色
void QTreeWidgetItem::emitDataChanged()
Qt::ItemFlags QTreeWidgetItem::flags() const
返回?cái)?shù)據(jù)項(xiàng)的標(biāo)志
QFont QTreeWidgetItem::font(int column) const
返回?cái)?shù)據(jù)項(xiàng)使用的字體
QBrush QTreeWidgetItem::foreground(int column) const
返回?cái)?shù)據(jù)項(xiàng)使用的前景色
QIcon QTreeWidgetItem::icon(int column) const
返回?cái)?shù)據(jù)項(xiàng)使用的Icon
int QTreeWidgetItem::indexOfChild(QTreeWidgetItem *child) const
返回子項(xiàng)的索引號(hào)
void QTreeWidgetItem::insertChild(int index, QTreeWidgetItem *child)
在索引號(hào)處插入單個(gè)子項(xiàng)
void QTreeWidgetItem::insertChildren(int index, const QList<QTreeWidgetItem *> &children)
在索引號(hào)處插入多個(gè)子項(xiàng)
bool QTreeWidgetItem::isExpanded() const
返回?cái)?shù)據(jù)項(xiàng)是否被展開
bool QTreeWidgetItem::isFirstColumnSpanned() const
bool QTreeWidgetItem::isHidden() const
bool QTreeWidgetItem::isSelected() const
QTreeWidgetItem *QTreeWidgetItem::parent() const
返回父項(xiàng)
void QTreeWidgetItem::removeChild(QTreeWidgetItem *child)
刪除子項(xiàng)
void QTreeWidgetItem::setChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)
設(shè)置是否顯示樹展開或者崩塌的控件
[virtual]
void QTreeWidgetItem::setData(int column, int role, const QVariant &value)
設(shè)置數(shù)據(jù)項(xiàng)的重載類型
void QTreeWidgetItem::setDisabled(bool disabled)
設(shè)置數(shù)據(jù)項(xiàng)是否有效,如果無效,顯示時(shí)灰色。
void QTreeWidgetItem::setExpanded(bool expand)
設(shè)置數(shù)據(jù)項(xiàng)是否展開其子項(xiàng)
void QTreeWidgetItem::setFirstColumnSpanned(bool span)
如果span使能,first section 會(huì)列出所有的數(shù)據(jù)項(xiàng)
void QTreeWidgetItem::setFlags(Qt::ItemFlags flags)
設(shè)置標(biāo)志
void QTreeWidgetItem::setFont(int column, const QFont &font)
設(shè)置字體
void QTreeWidgetItem::setForeground(int column, const QBrush &brush)
設(shè)置字體顏色
void QTreeWidgetItem::setHidden(bool hide)
設(shè)置是否隱藏
void QTreeWidgetItem::setIcon(int column, const QIcon &icon)
設(shè)置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)
設(shè)置數(shù)據(jù)項(xiàng)的文本內(nèi)容
void QTreeWidgetItem::setTextAlignment(int column, int alignment)
設(shè)置數(shù)據(jù)項(xiàng)的對(duì)齊方式
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)
對(duì)子項(xiàng)排序
QString QTreeWidgetItem::statusTip(int column) const
QTreeWidgetItem *QTreeWidgetItem::takeChild(int index)
刪除單個(gè)子項(xiàng)
QList<QTreeWidgetItem *> QTreeWidgetItem::takeChildren()
刪除多個(gè)子項(xiàng)
QString QTreeWidgetItem::text(int column) const
返回?cái)?shù)據(jù)項(xiàng)的文本
3、成員函數(shù)的簡(jiǎn)單使用
成員函數(shù)內(nèi)容很多,為了更清楚地了解成員函數(shù)的使用,
//構(gòu)造一個(gè)父項(xiàng),并指定字體和背景色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);//構(gòu)造一個(gè)父項(xiàng)QTreeWidgetItem *Country = new QTreeWidgetItem(ui->treeWidget);Country->setText(0,"Country");//通過addchild()函數(shù)在當(dāng)前父項(xiàng)下添加子項(xiàng)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);//直接通過構(gòu)造函數(shù)生成子項(xiàng)QTreeWidgetItem *CountryItem_3 = new QTreeWidgetItem(Country,CountryItem_0);CountryItem_3->setText(0,"India"); QTreeWidgetItem *CountryItem_4 = new QTreeWidgetItem(Country);CountryItem_4->setText(0,"Mongo");//構(gòu)造其他的數(shù)據(jù)項(xiàng),不指認(rèn)其父項(xiàng)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);//添加到父項(xiàng)下CountryItem_0->addChild(cities);//child()函數(shù)的使用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;//將子項(xiàng)列表添加top_level_item_0->addChildren(childrenlist);top_level_item_0->setChildIndicatorPolicy(QTreeWidgetItem::ShowIndicator);//設(shè)置默認(rèn)樹狀展開top_level_item_0->setExpanded(1);ui->treeWidget->show();效果如下:
總結(jié)
以上是生活随笔為你收集整理的QTreeWidgetItem 类的翻译的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt 解决MySQL 中文乱码问题
- 下一篇: QT QTreeWidget 行切换时改