//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勾选功能的更多相关文章

  1. [原创] 扩展jquery-treegrid插件, 实现勾选功能和全删按钮.

    新上手一个项目, 因而正好想学习下bootstrap, 所以就采用asp.net mvc + bootstrap来做.  因为需要TreeGrid的控件, 本来想用easyUI.LingerUi.DW ...

  2. JQuery实现表格的全选和反选,以及分页勾选保存(laypage插件分页的使用)

    需求: 1.全选与取消全选 2.单个勾选,点击表格单元格中checkbox勾选,也可以在点击行勾选,便与用户操作 3.分页勾选保存 4.固定表头 功能一: 说明:操作全选按钮的同时,遍历每一个tr中的 ...

  3. 解决el-tree lazy懒加载时,连续勾选前两个子节点后第二次进入默认选中时,将父节点也勾选的问题

    在用到el-tree的懒加载和默认勾选功能时,若第一次勾选前几个连续节点,第二次进入默认勾选时,由于el-tree子节点尚未完全加载(只加载出来前几个),默认勾选已经开始(已加载出来的子节点被默认勾选 ...

  4. Element UI表格组件技巧:如何简洁实现跨页勾选、跨页统计功能

    业务场景 在使用Element UI的Table组件时,常常面对这样的业务需求: 表格数据的每一项都要提供勾选框,当切换分页时,能够记忆所有页面勾选的数据,以实现批量提交不同页面勾选数据的功能.并且, ...

  5. 使用TreeView 使用多选功能

    1.要用TreeView多选就要显示复选框,TreeView默认不显示复选框,显示复选框: TreeView2.ShowCheckBoxes = TreeNodeTypes.All; 初始化TreeV ...

  6. DEV控件中GridView中的复选框与CheckBox实现联动的全选功能

    最初的界面图如图1-1(全选框ID: cb_checkall  DEV控件名称:gcCon ): 要实现的功能如下图(1-2  1-3  1-4)及代码所示: 图1-2 图1-3 图1-4 O(∩_∩ ...

  7. checkbox属性checked="checked"通过js已设置,但是不勾选

    1.通过 attr('checked','checked') 来设置checkbox时,重复点击,虽然checked属性设置正确,但是checkbox没有被勾选 ,如下代码:(代码是全选功能) $(' ...

  8. Extjs改变树节点的勾选状态

    Extjs改变树节点的勾选状态 今天系统中有处地方需要一个功能点击一个按钮后将树节点前的复选框去掉,变成没有选择的状态.网上搜索了半天,然后自己查查API,终于找到解决办法了,下面把方法贴出来. 在E ...

  9. jQuery实现的全选、反选和不选功能

    适用于网页多选后需要进行批量操作的场景(如批量删除等).如有问题希望大家可以指正.谢谢~~ HTML 我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮 ...

  10. jQuery推断复选框是否勾选

    今天要实现一功能就是:复选框勾选时给input表单赋值,复选框取消时将表单值清除. 效果如图: 实现源代码:cyfID为复选框的id $("#cyfID").click(funct ...

随机推荐

  1. Ginan-PEA例程下载

    输入以下命令可在Ubuntu系统中进行下载,但受到网络限制并不能有效下载或者下载很慢 python3 scripts/download_examples.py 通过阅读python脚本,可将下载网址拷 ...

  2. git 问题解决

    1. fatal: the remote end hung up unexpectedly git config --global http.postBuffer 104857600 其他方案: gi ...

  3. js获取url中的查询参数

    // 获取url中query // return {cate_id: '1', street_id: '0'} function getParams() { var url = location.se ...

  4. 集群分发xsync xcall kafka启动脚本命令,命令方式安装epel源

    安装epel库源 yum install epel-release -y --nogpgcheck yum install glances 安装开始 建立hosts 白名单 127.0.0.1 loc ...

  5. 线性斜压模式LBM学习&安装实录

    本文基本参照了LBM的用户手册进行. 环境:Ubuntu 18.04LTS (Windows Subsystem Linux) 编译器:gfortran 7.5.0 安装包: lapack-3.9.0 ...

  6. office图标变白新的处理方法

    https://www.haozhuangji.com/xtjc/133013759.html 一般搜索得到的处理方式与上面链接的处理方式差不多,都是通过安装wps或者修改注册表来实现的. 本文是我在 ...

  7. powergui模块基本设置

    Powergui模块可以显示系统稳定状态的电流和电压及电路(电感电流和电容电压)所有的状态变量值. 尤其是电力电子仿真中需要加入powergui模块,否则会报错. simulink仿真用到simpow ...

  8. php redis使用 常用方法 | Windows环境下安装Redis | Windows下php安装redis扩展(详解版)

    redis可视化工具:http://www.treesoft.cn/dms.html #php redis使用 常用方法 https://www.cnblogs.com/mg007/p/1043107 ...

  9. C#textbox更改字体颜色只读后不起作用的解决办法

    textbox的属性ReadOnly设置为true只读后,只更改字体颜色并不起作用. 解决办法是,连同背景色一起设置即可. textBox1.BackColor =textBox1.BackColor ...

  10. LaTex【六】表格排版—表格标题位置

    LaTex中表格排版--表格描述位置调整 LaTex模板大多默认将表格描述置于表格下方,可通过修改 \caption 的位置调整. 1. 位于表格下方(默认) \begin{table}[h] \be ...