Qt:支持鼠标拖动来移动内容的窗口

2014-11-24 10:24:37 · 作者: · 浏览: 0

最近有个Qt的项目碰到问题,问题是这样的:


要使Qt的窗口内容支持drag移动,即按住鼠标左键在窗口里移动时,窗口的滚动条和内容随着鼠标的移动而移动。


实现的方法实现一个类,此类派生自QScrollArea,安装事件过滤器,对鼠标的事件进行处理来实现内容的移动。


代码如下:


头文件




class


{


MyScrollArea : public QScrollArea




这样就可以使用这个类来做窗口的parent,这样里面的内容就支持拖动了。



Q_OBJECT


public:


QWidget* parent =NULL);



MyScrollArea(




~MyScrollArea(){};