日期:2014-05-16  浏览次数:20751 次

QT4 编程 QListView控件操作的一个小问题
QListView中如何响应鼠标事件?比如我用鼠标单击其中的一行,就会触发我的自定义处理函数。
注意是直接单击行就触发,不是选择了某行然后点击某个PUSHBUTTON才触发。
谢谢帮助我的朋友。

------解决方案--------------------
void QWidget::mousePressEvent ( QMouseEvent * e ) [虚 保护] 
void QWidget::mouseReleaseEvent ( QMouseEvent * e ) [虚 保护] 
这2个检测鼠标按下的事件。
然后触发一个slots:
这个时候可以有2种处理办法:
1.这个slots里QListView本身有方法提供检测当前选中的行,你触发你的功能就是。
2.用int QMouseEvent::globalX () const 
int QMouseEvent::globalY () const 
来确定鼠标位置。


方法1就够用了。
------解决方案--------------------
路过~~学习一下!