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

QTreeView 限制特定的深度、特定深度下的列 是否可以编辑的更多相关文章

  1. 深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图

    原文:深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图 IIS部署ASP.NET Core2.1 应用拓扑图 我们看到相比Asp.Net, 出现了3个新的组件:ASP.NET Co ...

  2. 【深度学习与神经网络】深度学习的下一个热点——GANs将改变世界

    本文作者 Nikolai Yakovenko 毕业于哥伦比亚大学,目前是 Google 的工程师,致力于构建人工智能系统,专注于语言处理.文本分类.解析与生成. 生成式对抗网络-简称GANs-将成为深 ...

  3. 解析基于keras深度学习框架下yolov3的算法

    一.前言 由于前一段时间以及实现了基于keras深度学习框架下yolov3的算法,本来想趁着余热将自己的心得体会进行总结,但由于前几天有点事就没有完成计划,现在趁午休时间整理一下. 二.Keras框架 ...

  4. 从exchange2010上面删除特定主题或特定时间的邮件

    昨天在上班的公交上接到同事电话,说他的的部门老大发错了一封邮件到另外一个同事邮箱了,问我能不 能去那个同事的邮箱里面删除,我一想,之前在网上看到过资料,到了公司趁那个误接收邮件的同事还没有来,在服务器 ...

  5. 105_Power Pivot财务科目(层级深度&筛选深度)

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 在财务科目中,需要按照科目层级来显示:在excel中都是用公式来实现,而且对于数据的管理及更新是一件头痛的事情, ...

  6. 深度解析开发项目之 05 - 解决textField编辑之后点击其他内容改变的问题

    深度解析开发项目之 05 - 解决textField编辑之后点击其他内容改变的问题 问题的解决:  只需要给HeadeVIew加上这句代码

  7. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep ...

  8. MyDAL - 引用类型对象 .DeepClone() 深度克隆[深度复制] 工具 使用

    索引: 目录索引 一.API 列表 .DeepClone() 用于 Model / Entity / ... ... 等引用类型对象的深度克隆 特性说明 1.不需要对对象做任何特殊处理,直接 .Dee ...

  9. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1 http://blog.csdn.net/sunbow0 Spark ML ...

随机推荐

  1. 【Linux技术】linux之configure,pkg-config和PKG_CONFIG_PATH

    linux之configure,pkg-config和PKG_CONFIG_PATH 1.初衷 1)前面在装gtk时冒出来一个pkg-config,当时虽然不大清楚它是个什么东西,不过大致了解了下它的 ...

  2. vue中$router和$route的区别

    $router是VueRouter的实例,在script标签中想要导航到不同的URL,使用$router.push方法. 返回上一个历史history用$router.to(-1) $route为当前 ...

  3. Mac下更改Python pip的源

    步骤 ➜ ~ mkdir .pip ➜ ~ cd .pip ➜ .pip touch pip.conf ➜ .pip vi pip.conf 其中pip.conf的内容为: [global] inde ...

  4. windows下使用mingw编译出ffplay(简化版)

    之前编译FFmpeg直接使用dll.lib,默认的mingw也不会编译出ffplay.exe. 近期由于工作需要,需要验证下修改之后的FFmpeg版本是否正常,需要使用ffplay.exe. 比较暴力 ...

  5. H3C AP实现定时重启

    #job radio_diable  view system  time 1 repeating at 03:00 command wlan radio disable all  time 2 rep ...

  6. C#学习笔记(26)——委托计算器

    说明(2017-11-20 15:14:18): 1. 委托一直稀里糊涂的,有人说简单,有人说难,艹你们! 2. 其实主要是因为,平时不用委托也能解决大部分问题,所以都没有特意去用,网上也没有什么很好 ...

  7. Faiss教程:入门

    Faiss处理固定维度d的数据,矩阵每一行表示一个向量,每列表示向量的一项.Faiss采用32-bit浮点型存储. 假设xb为数据集,维度为\(nb\times{d}\):xq是查询数据,维度为\(n ...

  8. iOS 检测网络状态 自动判断 认为提示网络改变

    检测网络状态 在网络应用中,需要对用户设备的网络状态进行实时监控,目的是让用户了解自己的网络状态,防止一些误会(比如怪应用无能)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验WIFI\3G ...

  9. 李炎恢的课程中心(JQUERY视频)

    http://edu.51cto.com/lecturer/user_id-3987533-page-2.html

  10. C语言 · 筛选号码

    算法训练 筛选号码   时间限制:1.0s   内存限制:512.0MB      问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下 ...