QTreeView 限制特定的深度、特定深度下的列 是否可以编辑
2015-11-17 15:55
513 查看
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
相关文章推荐
- 无法定位程序输入点strnlen于动态链接库msvcrt.dll上
- VS2010下QT的简单使用
- Ⅰ.2.6.3 如何测试Item Views、Item Widgets 和 Models 中的Items (Qt 4)
- Qt核心剖析: moc
- Qt读取和保存GB2312编码(Qt4)
- Qt 程序在 windows 下的发布
- Qt显示界面旋转
- qt相关知识点
- QT生成跨平台可执行文件
- Qt动画框架设计飞入-消失特效
- Qt动画框架的学习
- QT解决中文乱码显示问题
- Qt中的事件
- CLion+Qt5环境配置
- qt 信号连接方式
- Ⅰ.2.5 如何使用Qt Signal Handles
- Ⅰ.2.4 如何使用Qt Convenience API
- Ⅰ.2.3 如何访问Qt枚举型
- Ⅰ.2.2 如何调用Qt对象的函数
- Ⅰ.2.1 如何访问Qt对象