国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

QTreeWidget

2019-11-08 03:24:03
字體:
來源:轉載
供稿:網友

方法封裝和connect(ui.treeWidget, SIGNAL(itemChanged(QTreeWidgetItem*, int)), this, SLOT(treeItemChanged(QTreeWidgetItem*, int)));

void  initQTreeWidgetItem(QTreeWidgetItem *item, QString str, Qt::ItemFlags flags = Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable, Qt::CheckState state = Qt::Unchecked, int column = 0){	item->setText(column, str);	item->setFlags(flags);	item->setCheckState(column, state);}void updateChildItem(QTreeWidgetItem *item, int column, Qt::CheckState state){	int count = item->childCount();	if (count > 0)	{		for (int i = 0; i < count; i++)		{			//判斷是否有孩子當bb,如果當bb就遞歸。			auto childitem = item->child(i);			if (childitem!=nullptr)			{				updateChildItem(childitem, column, state);			}			item->child(i)->setCheckState(column, state);		}	}			}void updateParentItem(QTreeWidgetItem *item, int column, Qt::CheckState state){		QTreeWidgetItem *parent = item->parent();	QTreeWidgetItem *yeye(nullptr);	if (parent == nullptr)	{		return;	}	int selectedCount = 0;	int partCount = 0;	int chiildCount = parent->childCount();	for (int i = 0; i < chiildCount; i++)	{		QTreeWidgetItem *childItem = parent->child(i);		if (childItem->checkState(column) == Qt::Checked  )		{			selectedCount++;		}		if (childItem->checkState(column) == Qt::PartiallyChecked)		{			partCount++;		}	}	if (selectedCount <= 0 && partCount<=0)	{		parent->setCheckState(column, Qt::Unchecked);	}	else if (selectedCount > 0 && selectedCount < chiildCount)	{		parent->setCheckState(column, Qt::PartiallyChecked);		yeye = parent->parent();		while (yeye!=nullptr)		{			yeye->setCheckState(column, Qt::PartiallyChecked);			yeye = yeye->parent();		}	}	else if (selectedCount == chiildCount)	{		parent->setCheckState(column, Qt::Checked);	}}void treeItemChanged(QTreeWidgetItem *item, int column){	if (Qt::Checked == item->checkState(column))	{		updateChildItem(item, column, Qt::Checked);		updateParentItem(item, column, Qt::Checked);	}	else if (Qt::Unchecked == item->checkState(column))	{		updateChildItem(item, column, Qt::Unchecked);		updateParentItem(item, column, Qt::Unchecked);	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 两当县| 开远市| 肇庆市| 沁源县| 根河市| 永丰县| 静乐县| 通许县| 潼关县| 清水河县| 井研县| 普格县| 通江县| 临邑县| 天长市| 昔阳县| 阆中市| 响水县| 龙胜| 云梦县| 抚顺市| 荥阳市| 南郑县| 包头市| 南召县| 临沧市| 个旧市| 三亚市| 会东县| 修水县| 宁德市| 南昌市| 牙克石市| 绥阳县| 裕民县| 石阡县| 原平市| 三河市| 江都市| 庆安县| 南宁市|