• 老猿Python博文目录
  • 专栏:使用PyQt开发图形界面Python应用
  • 老猿Python博客地址

在Model中的项可以通过flags()方法查询对应项是否能被选择、拖拽或其他操作,对应的返回值类型为枚举类型Qt.ItemFlag及该枚举类型通过OR操作组合起来的类型Qt.ItemFlags。Qt.ItemFlag的取值及含义如下:

可以通过setFlags(Qt.ItemFlags flags) 来设置项的flags标记。

注意:

  • itemFlag相关的设置是针对项的,与View中的拖放、编辑、选择等属性的设置是独立的,一个项能否进行拖放、编辑、选择等,要Model中的项和View的属性都要能支持拖放、编辑、选择。案例:
 def initMultiColumnModel(self):self.model = QStandardItemModel()for row in range(6):for col in range(5):item = QStandardItem("row: {row},col: {col}".format(row=row + 1, col=col + 1))item.setFlags(item.flags() | Qt.ItemIsUserCheckable|Qt.ItemIsUserTristate)if  row==1 and col==0:item.setFlags(item.flags() & ( (Qt.ItemIsEditable|Qt.ItemIsDragEnabled)^0xff))item.setData(True,Qt.CheckStateRole)self.model.setItem( row, col,item)self.listView.setModel(self.model)

上述方法代码中将项进行初始化,初始化后如果对应视图支持编辑和拖放,则第2行第1列的项不支持编辑和拖拽。

  • 如果想需要能进行复选操作,需要对该项设置适合的ItemFlag并初始化其状态值。上面案例的item.setData(True,Qt.CheckStateRole)就是完成复选框的初始化
  • 如果模型实现了hasChildren()方法并返回True但项设置了 Qt.ItemNeverHasChildren标记,则对项操作的结果是未知的

老猿Python,跟老猿学Python!

  • 老猿Python博文目录
  • 专栏:使用PyQt开发图形界面Python应用
  • 老猿Python博客地址

PyQt(Python+Qt)学习随笔:Model中项的标记flags取值及枚举类型Qt.ItemFlag相关推荐

  1. PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性

    accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...

  2. PyQt(Python+Qt)学习随笔:Qt Designer中部件的快捷菜单策略(contextMenuPolicy)取值及含义

    在Qt Designer中可以设置部件的快捷菜单策略,快捷菜单通过在部件上点击鼠标右键触发. 快捷菜单策略通过枚举类型Qt.ContextMenuPolicy来定义,对应枚举类型取值及含义如下: 通过 ...

  3. PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置

    一.调色板 在Qt Designer的部件属性中,有个部件调色板(palette)的属性,进入后,如下图所示: 1.调色板palette Qt中提供的调色板palette用于管理控件的外观显示,对应P ...

  4. PyQt(Python+Qt)学习随笔:QListView的itemAlignment属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的itemAlignment属性用于控制每个数据项的对齐方式,其类型为枚举类Qt. ...

  5. PyQt(Python+Qt)学习随笔:formLayout的layoutLabelAlignment 属性

    一.引言 Qt Designer的表单布局(formLayout)中,layoutLabelAlignment 用于控制表单布局中标签的水平对齐方式(包括垂直和水平方向两个方向).如图: 此属性实际对 ...

  6. Python(Python+Qt)学习随笔:使用xlwings新建Execl文件和sheet的方法

    在<Python学习随笔:使用xlwings读取和操作Execl文件>介绍了使用xlwings读取和操作Execl文件的方法,但老猿这两天写个例子使用时,发现使用该文的方法无法新建EXCE ...

  7. python qt 按钮_PyQt(Python+Qt)学习随笔:toolButton的popupMode属性

    属性介绍 toolButton的popupMode属性为设有菜单集或Action列表的toolButton指定菜单弹出模式,类型为枚举类型ToolButtonPopupMode,有如下三种模式: 1. ...

  8. Qt学习笔记-----Model/View架构

    为了实现数据的存储和表现分离,Qt提供了Model/View架构,包括三个部分,分别是模型(Model),视图(View),委托(delegate). Model用于访问底层数据,也就是说为其他组件访 ...

  9. 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  10. python中int数据范围_Python中int的取值范围是多少

    Python中int的取值范围是多少 发布时间:2020-10-30 09:33:50 来源:亿速云 阅读:66 作者:小新 这篇文章将为大家详细讲解有关Python中int的取值范围是多少,小编觉得 ...

最新文章

  1. 干货|2018年中国智能硬件行业现状与发展趋势报告
  2. Kubernetes中部署Docker registry2.7.1并通过containerd实现拉取镜像到应用Pod的部署
  3. C++笔记(2017/2/9)
  4. Effective C#: Item 3: Prefer the is or as Operators to Casts
  5. 免费域名 空间 cdn
  6. linux 路由跟踪命令_云计算网络知识学习-linux网络基础
  7. 关于GDAL计算图像坐标的几个问题
  8. Java调用高德API接口
  9. new joiner
  10. 机器人螺栓拆装_一种带电作业机器人专用螺栓拆装固定装置的制作方法
  11. 一文搞懂【Web 前端】HTML 与 CSS 基础知识
  12. C#实战之CAD二次开发004:插入尺寸标注
  13. lua java 加密解密_AES加解密多版本(GO、JAVA、Python)实现
  14. Android Q 强制黑暗模式(ForceDark) | 原理 实践
  15. Docker进阶篇之DockerFile,教你用DockerFile构建镜像
  16. C#开发之——接口的实现(7.2)
  17. 再来IOS开发小知识点总结
  18. 基于PMC指数模型的电力政策量化及其在负荷预测中的应用
  19. 易网客商业Wifi的时代
  20. 【LTE CAT1】ML302 OpenCPU | 开发环境搭建及固件更新

热门文章

  1. 常用的数学基础知识集锦
  2. c语言switch例题注释,switch语句例子大全 C语言switch语句例题
  3. java 读取psd,寻找Java库以使用PSD格式
  4. 22 个最常用的 Python 包
  5. 已知接入Internet的计算机用户名,计算机一级笔试试题及答案(1)
  6. iphone4 ios7电话号码格式修改
  7. idea报错解决办法:Error executing Maven. The specified user settings file does not exist: C:\Users\Gmx\.m2\
  8. 腾达无线路由器怎么建立服务器,腾达无线路由器网关和域名服务器
  9. 仿支付宝输入密码效果
  10. 自定义电子邮件 html_如何在Windows 10中设置和自定义电子邮件帐户