QTreeWidgetItem 类的翻译
文章目錄
- QTreeWidgetItem 類的翻譯
- 簡介
- 子類化QTreeWidgetItem
- 1、構造函數
- 2、其他成員函數
- 3、成員函數的簡單使用
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();效果如下:
總結
以上是生活随笔為你收集整理的QTreeWidgetItem 类的翻译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt 解决MySQL 中文乱码问题
- 下一篇: QT QTreeWidget 行切换时改