社区
Qt
帖子详情
QTreeView 如何展开/收缩 该节点下所有子节点?
liuhelh
2011-07-07 02:37:11
貌似qt没有自带展开/收缩所有当前节点所有子节点的功能。
坛子里有没有人以前实现过?
...全文
3389
5
打赏
收藏
QTreeView 如何展开/收缩 该节点下所有子节点?
貌似qt没有自带展开/收缩所有当前节点所有子节点的功能。 坛子里有没有人以前实现过?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
many_many
2011-08-08
打赏
举报
回复
使用函数 void collapse ( const QModelIndex & index )
直接展开
liuhelh
2011-07-10
打赏
举报
回复
用递归实现了
下面是 collapse 所有子节点的代码
expand 所有子节点的代码类似,或者在递归函数上加一个 bool 参数就能实现。
/*collapse all child nodes*/
int childCount = model->rowCount(index);
recursive_collapse(index,childCount);
void WellImportDialog::recursive_collapse(const QModelIndex index,int childCount)
{
for(int childNo=0;childNo<childCount;childNo++)
{
QModelIndex childIndex = index.child(childNo,0);
if(ui->treeView_dir->isExpanded(childIndex))
{
ui->treeView_dir->setExpanded(childIndex,false);
if(int rowCount = model->rowCount(childIndex)>0)
recursive_collapse(childIndex,rowCount);
}
}
}
QQ551780977
2011-07-08
打赏
举报
回复
[Quote=引用 2 楼 ice 的回复:]
expandAll是展开所有节点的,expand你需要轮询调用了
[/Quote]
支持下...我准备用到...
开始领悟
2011-07-07
打赏
举报
回复
expandAll是展开所有节点的,expand你需要轮询调用了
cpio
2011-07-07
打赏
举报
回复
如果没有现成的函数可调用,就只能递归了自己遍历了
QTreeView
递归实现
展开
或者闭合某个
节点
下面的所有
子
节点
QTreeView
递归实现
展开
或者闭合某个
节点
下面的所有
子
节点
不是一键
展开
所有,是
展开
你要操作的
节点
下面的所有
子
节点
!
QT获取
QTreeView
当前
展开
深度,以及逐级
展开
与
收缩
功能
QT获取
QTreeView
当前
展开
深度,以及逐级
展开
与
收缩
功能
qt treeview 控制
节点
收缩
qt treeview 控制
节点
收缩
treeview
节点
的
子
节点
的
展开
及收起
treeview1.selected.Expanded; //判断
节点
的
子
节点
是否
展开
True
展开
,否则闭拢treeview1.selected.Expand(True);//
子
节点
展开
treeview1.selected.collapse(True)://
子
节点
闭拢 树
节点
全部
展开
:procedure TForm1.Button1Click(Sender: TObject);var no...
探究TreeView中
节点
的
展开
收缩
动画
声明:此探究过程基于WPF框架。 我们知道,在默认的TreeView样式中,
节点
的
展开
和
收缩
都是没有动画效果的,实质上就是通过TreeViewItem的IsExpanded属性来判断
子
节点
内容是否显示。 因此,要想实现动画效果,就要从TreeViewItem的样式中下手。 过程探究: 1 一、先实现简单的
展开
和
收缩
效果 为了节省工作,我直接从Blend中将TreeViewItem的样式Copy过来 (代码略长,请自行滚动翻页) <Style x:Key="TreeViewItemFocusVisual
Qt
16,215
社区成员
26,594
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章