Chinaunix首页 | 论坛 | 博客
  • 博客访问: 320642
  • 博文数量: 69
  • 博客积分: 352
  • 博客等级: 入伍新兵
  • 技术积分: 296
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-16 15:41
文章分类
文章存档

2023年(1)

2021年(1)

2020年(2)

2017年(4)

2016年(3)

2015年(1)

2013年(1)

2012年(21)

2011年(35)

分类: C/C++

2020-12-04 17:36:58

//...... 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; 
    } 

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