日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QTreeWidget的基本操作

發布時間:2023/12/20 c/c++ 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QTreeWidget的基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在主函數中增加:

init();connect(ui->treeWidget,SIGNAL(itemChanged(QTreeWidgetItem*, int)),this,SLOT(treeItemChanged(QTreeWidgetItem*,int))); 函數實現: void Widget::init() {ui->treeWidget->setHeaderLabels(QStringList()<<"123"<<"234");//設置列名ui->treeWidget->clear();QTreeWidgetItem* group1=new QTreeWidgetItem(ui->treeWidget);group1->setText(0,"group1");group1->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);group1->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem11=new QTreeWidgetItem(group1);subItem11->setText(0,"subItem11");subItem11->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem11->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem12=new QTreeWidgetItem(group1);subItem12->setText(0,"subItem12");subItem12->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem12->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem13=new QTreeWidgetItem(group1);subItem13->setText(0,"subItem13");subItem13->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem13->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem14=new QTreeWidgetItem(group1);subItem14->setText(0,"subItem14");subItem14->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem14->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* group2=new QTreeWidgetItem(ui->treeWidget);group2->setText(0,"group2");group2->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);group2->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem21=new QTreeWidgetItem(group2);subItem21->setText(0,"subItem21");subItem21->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem21->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem22=new QTreeWidgetItem(group2);subItem22->setText(0,"subItem22");subItem22->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem22->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem23=new QTreeWidgetItem(group2);subItem23->setText(0,"subItem23");subItem23->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem23->setCheckState(0,Qt::Unchecked);QTreeWidgetItem* subItem24=new QTreeWidgetItem(group2);subItem24->setText(0,"subItem24");subItem24->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);subItem24->setCheckState(0,Qt::Unchecked);}void Widget::updateParentItem(QTreeWidgetItem *item) {QTreeWidgetItem* parent=item->parent();if(parent==NULL){return;}int selectedCount=0;int childCount=parent->childCount();for(int i=0;i<childCount;i++){QTreeWidgetItem* childItem=parent->child(i);if(childItem->checkState(0)==Qt::Checked){selectedCount++;}}if(selectedCount<=0){parent->setCheckState(0,Qt::Unchecked);}else if(selectedCount>0&&selectedCount<childCount){parent->setCheckState(0,Qt::PartiallyChecked);}else if(selectedCount==childCount){parent->setCheckState(0,Qt::Checked);} }void Widget::treeItemChanged(QTreeWidgetItem *item, int column) {//QString itemText=item->text(0);if(Qt::Checked==item->checkState(0)){//QTreeWidgetItem* parent=item->parent();int count=item->childCount();if(count>0){for(int i=0;i<count;i++){item->child(i)->setCheckState(0,Qt::Checked);}}else{updateParentItem(item);}}else if(Qt::Unchecked==item->checkState(0)){int count=item->childCount();if(count>0){for(int i=0;i<count;i++){item->child(i)->setCheckState(0,Qt::Unchecked);}}else{updateParentItem(item);}} }

?

  

轉載于:https://www.cnblogs.com/wiessharling/archive/2013/01/05/2845689.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的QTreeWidget的基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。