Qt Model View中的State_MouseOver在xp下不能被触发的问题
来源:互联网 发布:sql 存储过程 返回值 编辑:程序博客网 时间:2024/04/29 18:33
起因:
为了在鼠标hover列表中某一行时进行背景重绘,我重载了QStyledItemDelegate,在win7中程序运行正常,但是当我把程序放到xp环境时,却发现鼠标放置到某一行上时,界面无任何反映。加上debug信息之后,发现并没有触发delegate的paint()函数调用,这顿时让我茫然了。
尝试使用 setMouseTracking(true); 方法
但是效果很不理想,并且我也并不希望随时都能收到鼠标移动事件,最主要的问题是当鼠标已经移出view,但view中的item还是处于hover状态。
只好作罢。
经过google之后,终于在Qt的bug列表中找到了解决方法。
地址如下:https://bugreports.qt.nokia.com//browse/QTBUG-6063
按照备注中所给出的解决方案,需要设置viewport的WA_Hover属性
代码如下
viewport()->setAttribute(Qt::WA_Hover,true);
加入该代码之后,重新编译,该问题得以解决。
在此感谢该bug的提交者。
- Qt Model View中的State_MouseOver在xp下不能被触发的问题
- QT中的model/view
- Qt的Model/View
- Qt 的Model/View
- Qt的model/view
- QT中的View Model模型
- Qt 下 model view programming
- Qt:Drag-Drop操作在QGraphicsView及Model/View框架下的实现
- Qt:Drag-Drop操作在QGraphicsView及Model/View框架下的实现
- Qt 调用phonon 在xp下不能播放视频的解决方法
- QT Model/View框架中更新Model时View的显示问题
- Qt的Model/View (二)
- QT的model-view机制
- QT中的View Model模型系列一
- QT按钮被触发两次的问题
- vs2013编译的程序不能在XP和2003下执行问题的解决
- Qt 调用phonon 在xp下不能播放视频的解决方法(Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName )...)
- Qt 调用phonon 在xp下不能播放视频的解决方法(Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName )...)
- 什么是dtd文件,为什么需要
- VS2010中OpenGl
- strsuts2标签
- 通过JfreeChart画柱状图、时序图、K线图
- 各种网页播放器源码 Windows Media Player 网页播放器 及其相关参数含义
- Qt Model View中的State_MouseOver在xp下不能被触发的问题
- Team Manipulation Functions
- iPhone开发之在图片上显示文字(Add text to UIImage)
- 杨辉三角的三种解法
- 世界上最伟大的访谈
- 安装3ds Max的相关工具
- Android命令
- 大型 CAD软件架构-------------开源代码
- iPhone开发之SQLite的使用