Qt程序设计-无边框可移动可拖拽调整大小窗体

本文讲解Qt-无边框可移动可拖拽调整大小窗体。

通过鼠标的按下移动进行窗体的移动,拖拽调整窗体大小。

实现过程如下:

创建QWidget窗体,添加一个按钮控制窗体的关闭。

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include 

#include 
//定义拖拽窗体边缘检测大小
#define PADDING 10
//定义识别所处的边缘位置
enum Direction
{
    UP, DOWN, LEFT, RIGHT, LEFTTOP, LEFTBOTTOM, RIGHTBOTTOM, RIGHTTOP, NONE 
};

namespace Ui {
class MyWidget;
}

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    explicit MyWidget(QWidget *parent = 0);
    ~MyWidget();
public:
    //鼠标的位置,改变光标
    void region(const QPoint ¤tGlobalPoint);
protected:
    // 鼠标按下 鼠标相对于窗体的位置
    void mousePressEvent(QMouseEvent *event);
    //鼠标移动 若鼠标左键被按下,移动窗体位置
    void mouseMoveEvent(QMouseEvent *event);
   

你可能感兴趣的:(C++,QT程序设计,qt,无边框窗体,可移动,拖拽调整大小)