QTreewidget的 item Checked 编辑
来源:互联网 发布:应用数学知乎 编辑:程序博客网 时间:2024/06/07 09:33
想使用QTreewidget也像qt designer那里一样,做个属性编辑器
单纯设置
fontBoldItem->setCheckState(1,Qt::Unchecked);
运行时只有点击 复选框才能修改 checkbox的选中状态
但是qt designer就不是这个样子,无论单击复选框或者item其它位置都可以修改checkbox的选中状态
我跟踪了一下,mousePressEvent和mouseReleaseEvent,单击复选框和item其他位置,区别主要在于pos位置
所以一个比较偷懒的想法就是在这两个事件中的修改event的pos位置,修正为复选框的所在位置范围内,经测试没有问题。
但是这种做法总感觉不地道,也有点名不正言不顺。
鉴于一般的qtreewidget的文本框和下拉框、微调框都是使用的itemwidget
所以也想到了这个,那就在其上放置个QCheckbox吧,
简单测试一下不行,只有点击复选框才会变化,后来想到的是设置文本,应该是文本长度决定QCheckbox的长度吧
果不其然,但是有不想让人看见文本,干脆将文本都有空格或者\t替换,结果很ok
在此更深刻理解,最简单的才是最有效的
就如上次QLineEdit的那样,开始我想的是在label上放置QLineEdit和QLabel,QLabel上放图片,而没有想到使用QLineEdit,直接在其上放置图片,这就涉及到很严重的问题,我想设置QLineEdit的样式时,每次都得通过外层的QLabel实现,即要重载外层Qlabel的所有样式方法,在其中调用QLineEdit的样式方法(因为在对外部而言,只有外层的Qlabel是可见的,不想也不情愿将内部的QLineEdit开放,这样总感觉,不像是一个独立的部件)
其实使用QCheckbox也是刚才想起来并测试成功的,昨天晚上想写,但是网速不给力,没有发表成功,昨天的版本就不是这样的
而是 在QLabel上放一个QCheckbox,其实跟最初版本LineEdit的编辑是同样的思路,同样的错误,如果那样的话,还要对点击QCheckbox或者QLabel的其他地方,区别处理,他们之间的关联,check状态的统一等等。
再次 验证 :最简单的才是最有效的! I believe
- QTreewidget的 item Checked 编辑
- QTreewidget的 item Checked 编辑
- QTreeWidget中对于其中item的可编辑属性的设置
- QTreeWidget中如何确定选定的Item
- 表格QTreeWidget的Item点击事件
- ListView 处理Item的选中状态(checked)
- QTreeWidget控件设置某列可编辑
- QTreeWidget中添加widget 让后清除item 引发的异常
- QTreeWidget隐藏去掉或更改item项前的展开折叠三角图标
- Qtreewidget点击子item获得绝对路径
- Qtreewidget点击子item获得绝对路径
- UICollectionView的item长按移动编辑
- QTreeWidget的简单使用
- QTreeWidget的简单使用
- QTreeWidget的用法
- QTreeWidget的用法
- QTreeWidget的使用
- QTreeWidget的使用 .
- 关于XML fragments parsed from previous mappers already contains value for
- linux下 tar解压 gz解压 bz2等各种解压文件使用方法
- (Java功能篇)java版本 线程池实例代码
- 用yum下载rpm包(不安装)到制定目录
- Java常用类
- QTreewidget的 item Checked 编辑
- webpy session 设置
- C语言中union的含义
- (UIImagePickerController)的用法(一)
- poll 系统调用(1)
- mysql错误:……is marked as crashed and should be repaired!
- 数据结构与算法之三直接插入排序
- android reload
- WebService从零到项目开发使用1—技术研究之基础篇 SOAP