QTreeView 限制特定的深度、特定深度下的列 是否可以编辑

简介: QTreeView 限制特定的深度、特定深度下的列 是否可以编辑     # # C_TreeView # 在QTreeView基础上增加限制特定深度、特定列是否可以编辑 # class C_TreeView(QTreeView): def __init__(self, parent=None): QTreeView.

QTreeView 限制特定的深度、特定深度下的列 是否可以编辑

 

 

#
#   C_TreeView
#  在QTreeView基础上增加限制特定深度、特定列是否可以编辑
#
class C_TreeView(QTreeView):
    def __init__(self, parent=None):
        QTreeView.__init__(self, parent)
        
        # 设置可以编辑的 深度  和  列
        # dict,  depth:int,column:list
        self.c_allow_edit = dict()
        
    
    #
    # 设置可以编辑的 深度  和  列
    # allow_edit :dict,
    # key:深度,  大于0的整数
    # value :每个深度下可以编辑的多个列, 列编号从0开始
    def c_setAllowEdit(self, allow_edit):
        
        self.c_allow_edit = allow_edit
        
    def edit(self, index, trigger, event):
        
        args = [index, trigger, event]        
        path = self.indexToPath(index)
        depth = len(path)
        columnIndex = index.column()
        
        #return_value = QTableView.edit(self, *args)
        #return_value =super(QTreeView, self) .edit( *args)
        
        if event is not None:
            # 2:鼠标的按下,3:鼠标的释放
            # 4:鼠标的双击
            # 如果是双击,判断 深度  和 列  是否可以编辑
            event_type = event.type()
            if event_type ==4:
                allow_columns = self.c_allow_edit.get(depth)
                if allow_columns is None:
                    return False
                if columnIndex not in allow_columns:
                    return False
                    
            
        return_value =super(QTreeView, self) .edit( *args) 
        return return_value

 

相关文章
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【ACL2024】基于动态辅助融合的大模型序列编辑
近日,阿里云人工智能平台PAI与集团安全部内容安全算法团队、华东师范大学何晓丰教授团队合作,在自然语言处理顶级会议ACL2024上发表论文《DAFNet: Dynamic Auxiliary Fusion for Sequential Model Editing in Large Language Models》。
|
5月前
|
机器学习/深度学习 人工智能 监控
人工智能平台PAI产品使用合集之设置了7个特征,但在最后生成的数据表中只包含了6个id_feature的特征,是什么导致的
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之如何配置DSSM模型负采样item表的schema
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
人工智能 自然语言处理 文字识别
理解指向,说出坐标,Shikra开启多模态大模型参考对话新维度
理解指向,说出坐标,Shikra开启多模态大模型参考对话新维度
204 0
|
缓存 JSON NoSQL
分类树菜单,我从2s优化到0.1s
分类树菜单,我从2s优化到0.1s
​如何找到时序数据中线性的趋势(二)
​如何找到时序数据中线性的趋势(二)
97 0
​如何找到时序数据中线性的趋势(二)
|
编译器 C语言 Windows
想要深度了解C吗?
想要深度了解C吗?
84 0
想要深度了解C吗?
|
存储 搜索推荐 开发者
标签权重在个性化搜索排序中的最佳实践
本文通过阿里云开放搜索中的tag_match 函数的标签匹配应用,详细解读标签权重在搜索排序召回中的业务价值
6405 0
标签权重在个性化搜索排序中的最佳实践
|
数据处理 Windows
数据处理第一节:选取列的基本到高级方法
博客原文:https://suzan.rbind.io/2018/01/dplyr-tutorial-1/ 作者:Suzan Baert 注意:所有代码都将作为管道的一部分呈现,即使它们中的任何一个都不是完整的管道。
1010 0
|
机器学习/深度学习 自然语言处理 测试技术