国产探花免费观看_亚洲丰满少妇自慰呻吟_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);	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滁州市| 兴隆县| 那曲县| 鄂托克前旗| 高碑店市| 广汉市| 曲阳县| 孝昌县| 海阳市| 桐城市| 武冈市| 保靖县| 青川县| 湛江市| 林口县| 城市| 伊川县| 溧水县| 富宁县| 富裕县| 玛纳斯县| 桂东县| 文昌市| 隆子县| 通州区| 宁城县| 柳河县| 余庆县| 丁青县| 南雄市| 盐源县| 邵阳市| 介休市| 柘城县| 铁岭市| 揭阳市| 南岸区| 古田县| 赤壁市| 古田县| 高阳县|