Qt 问题 判断QTreeWidget的子节点的父节点是否可见

cpp 复制代码
bool JudgeParentItemVisible(QTreeWidgetItem * pLayerItem)
{
	bool bVisible = true;
	QTreeWidgetItem * pParentItem = (QTreeWidgetItem *)pLayerItem->parent();	//获取父节点
	if (pParentItem != NULL)	//父节点不为空
	{
		if (pParentItem->checkState(0) == Qt::CheckState::Unchecked)	//如果不可见返回false
		{
			bVisible = false;
			return bVisible;
		}
		bVisible = JudgeParentItemVisible(pParentItem);	//可见继续判断父节点的可见性
	}
	else	//说明是一级节点
	{
		if (pLayerItem->checkState(0) == Qt::CheckState::Unchecked)	//如果不可见返回false
		{
			bVisible = false;
		}
	}
	return bVisible;
}
相关推荐
是main不是漫1 分钟前
【C++——类和对象(上)】筑基篇:以封装奠定面向对象之基
c语言·开发语言·c++
apcipot_rain4 小时前
C++转Java日记(06)
java·开发语言
SomeOtherTime11 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood11 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青12 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
饮水桶_T15 小时前
JAVA IO流笔记
开发语言·数据结构·算法
Felven18 小时前
C. Brr Brrr Patapim
c语言·开发语言
路溪非溪19 小时前
python标准库使用总结
开发语言·python
SomeOtherTime21 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
zh_xuan21 小时前
kotlin常见面试题
开发语言·kotlin·面试题