Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1335848
  • 博文数量: 177
  • 博客积分: 3640
  • 博客等级: 中校
  • 技术积分: 1778
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-27 16:51
文章分类

全部博文(177)

文章存档

2014年(1)

2013年(10)

2012年(3)

2011年(163)

分类: C/C++

2013-03-15 16:05:38

//...... H 文件

#ifndef SIMPLEFRAME_H
#define SIMPLEFRAME_H

#include
#include
#include "GeneratedFiles/ui_simpleframe.h"

class SimpleFrame : public QWidget
{
 Q_OBJECT

public:
 SimpleFrame(QWidget *parent = 0);
 ~SimpleFrame();

protected: 
    void mouseMoveEvent(QMouseEvent* event); 
    void mousePressEvent(QMouseEvent* event); 
    void mouseReleaseEvent(QMouseEvent* event); 

private: 
    QPoint mLastMousePosition; 
    bool mMoving;

private:
 Ui::SimpleFrameClass ui;
};

#endif // SIMPLEFRAME_H

 

 

// ............. CPP 文件

#include "simpleframe.h"

SimpleFrame::SimpleFrame(QWidget *parent)
 : QWidget(parent)
{
 ui.setupUi(this);

 setMouseTracking( true );
}

SimpleFrame::~SimpleFrame()
{

}

void SimpleFrame::mousePressEvent(QMouseEvent* event) 

    if(event->button() == Qt::LeftButton) 
    { 
        mMoving = true; 
        mLastMousePosition = event->globalPos(); 
    } 

 
void SimpleFrame::mouseMoveEvent(QMouseEvent* event) 

    if( event->buttons().testFlag(Qt::LeftButton) && mMoving) 
    { 
        this->move(this->pos() + (event->globalPos() - mLastMousePosition)); 
        mLastMousePosition = event->globalPos(); 
    } 

 
void SimpleFrame::mouseReleaseEvent(QMouseEvent* event) 

    if(event->button() == Qt::LeftButton) 
    { 
        mMoving = false; 
    } 

阅读(6343) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~