QTreewidget勾选功能
//connect(ui->treeWidget,&QTreeWidget::itemClicked,this,&PushSelectUser::treeItemChanged);
void PushSelectUser::treeItemChanged(QTreeWidgetItem *item, int column)
{
updateParentItem(item);
// 设置子对象的勾选状态
for( int i=0;i<item->childCount();++i ){
if(item->checkState(0) == Qt::PartiallyChecked)
continue;
item->child(i)->setCheckState(0,item->checkState(0));
updateChildItem(item->child(i));
}
Qt::CheckState status = item->checkState(0);
sigSlectStatusChanged(item->text(0),status);
getSelectUsers();
}
void PushSelectUser::updateParentItem(QTreeWidgetItem *item)
{
// 更新父对象的勾选状态
QTreeWidgetItem* p = item->parent();
if( p!=0 ){
p->setCheckState(0,item->checkState(0));
for( int i=0;i<p->childCount();++i )
if( p->child(i)->checkState(0)!=item->checkState(0) || p->child(i)->checkState(0) == Qt::PartiallyChecked){
p->setCheckState(0,Qt::PartiallyChecked);
break;
}
updateParentItem(p);
}
}
void PushSelectUser::updateChildItem(QTreeWidgetItem *item)
{
// 更新zi对象的勾选状态
if( item!=0 ){
for( int i=0;i<item->childCount();++i ){
item->child(i)->setCheckState(0,item->checkState(0));
updateChildItem(item->child(i));
}
}
}
QTreewidget勾选功能的更多相关文章
- [原创] 扩展jquery-treegrid插件, 实现勾选功能和全删按钮.
新上手一个项目, 因而正好想学习下bootstrap, 所以就采用asp.net mvc + bootstrap来做. 因为需要TreeGrid的控件, 本来想用easyUI.LingerUi.DW ...
- JQuery实现表格的全选和反选,以及分页勾选保存(laypage插件分页的使用)
需求: 1.全选与取消全选 2.单个勾选,点击表格单元格中checkbox勾选,也可以在点击行勾选,便与用户操作 3.分页勾选保存 4.固定表头 功能一: 说明:操作全选按钮的同时,遍历每一个tr中的 ...
- 解决el-tree lazy懒加载时,连续勾选前两个子节点后第二次进入默认选中时,将父节点也勾选的问题
在用到el-tree的懒加载和默认勾选功能时,若第一次勾选前几个连续节点,第二次进入默认勾选时,由于el-tree子节点尚未完全加载(只加载出来前几个),默认勾选已经开始(已加载出来的子节点被默认勾选 ...
- Element UI表格组件技巧:如何简洁实现跨页勾选、跨页统计功能
业务场景 在使用Element UI的Table组件时,常常面对这样的业务需求: 表格数据的每一项都要提供勾选框,当切换分页时,能够记忆所有页面勾选的数据,以实现批量提交不同页面勾选数据的功能.并且, ...
- 使用TreeView 使用多选功能
1.要用TreeView多选就要显示复选框,TreeView默认不显示复选框,显示复选框: TreeView2.ShowCheckBoxes = TreeNodeTypes.All; 初始化TreeV ...
- DEV控件中GridView中的复选框与CheckBox实现联动的全选功能
最初的界面图如图1-1(全选框ID: cb_checkall DEV控件名称:gcCon ): 要实现的功能如下图(1-2 1-3 1-4)及代码所示: 图1-2 图1-3 图1-4 O(∩_∩ ...
- checkbox属性checked="checked"通过js已设置,但是不勾选
1.通过 attr('checked','checked') 来设置checkbox时,重复点击,虽然checked属性设置正确,但是checkbox没有被勾选 ,如下代码:(代码是全选功能) $(' ...
- Extjs改变树节点的勾选状态
Extjs改变树节点的勾选状态 今天系统中有处地方需要一个功能点击一个按钮后将树节点前的复选框去掉,变成没有选择的状态.网上搜索了半天,然后自己查查API,终于找到解决办法了,下面把方法贴出来. 在E ...
- jQuery实现的全选、反选和不选功能
适用于网页多选后需要进行批量操作的场景(如批量删除等).如有问题希望大家可以指正.谢谢~~ HTML 我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮 ...
- jQuery推断复选框是否勾选
今天要实现一功能就是:复选框勾选时给input表单赋值,复选框取消时将表单值清除. 效果如图: 实现源代码:cyfID为复选框的id $("#cyfID").click(funct ...
随机推荐
- jekins 入门
环境安装 gitlab 安装 使用 docker 安装 gitlab docker run -d --name gitlab --restart always --hostname gitlab.zd ...
- gin框架笔记
1.实现http://127.0.0.1:8080/index.html的形式访问前端页面.gin-contrib/static 使用中间件的方式判断是否存在该静态文件.fileserver 是一个 ...
- Windows10+VS2019从源码编译 Qt5
参考 Windows10+MSVC(VS2022)从源码编译QT5.12.11 - 知乎 (zhihu.com) qt-labs/vstools ~ qt-labs/vstools (github.c ...
- 微信开发者工具代码管理设置使用SSH Key(使用密码)方法
参考微信开发社区--使用ssh key无法推送代码.微信开发者工具 SSH key认证 推送.拉取GitHub项目 1.确认已安装git,打开 Git Bash 使用https://git.weixi ...
- Linux下clang、gcc、intel编译器最新版本安装笔记
转自 http://t.zoukankan.com/opangle-p-2838554.html
- 网络-6 IPV6(上)
一.iPv4与ipv6对比 1.ipv4与ipv6优缺点 1.1 Ipv4与ipv6对比,ipv4中的切片使用的三个字段:identification flags fragment offse ...
- linux 查看product_uuid,即主板id,机器识别码,需要root权限
1. 用命令 sudo dmidecode | grep UUID 或者 sudo lshw | grep uuid 2. 直接查看文件描述 sudo cat /sys/class/dmi/id/ ...
- vue super flow 多种形状
1 <template> 2 <v-container class="workflow-container" grid-list-xl fluid> 3 & ...
- SVN安装配置手册
1.官网下载相关的服务端的安装包 SVN(版本控制器): SVN-客户端:TortoiseSVN SVN-服务端:VisualSVN 下载地址: TortoiseSVN:https://tortois ...
- fix: because the volume group on the selected device also consist of physical volumes on other devices
because the volume group on the selected device also consist of physical volumes on other devices 目标 ...