要想实现该功能,我们需要考虑一下几个问题。
1、如何获取鼠标的移动,点击,释放
通过实现一下几个事件来获取窗体的事件
void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
2、如何判断鼠标是否移动到窗体的边界
一个窗体的结构大概如下图所示
上左 上 上右
左 中 右
下左 下 下右
那么我们用数字来表示如下
11 12 13
21 22 23
31 32 33
那么我们就得到鼠标在除了22的位置就到达了窗体的边界
上代码:
enum {
TOPLEFT = 11,
TOP = 12,
TOPRIGHT = 13,
LEFT = 21,
CENTER = 22,
RIGHT = 23,
BUTTOMLEFT = 31,
BUTTOM = 32,
BUTTOMRIGHT = 33
};
#define FRAMESHAPE 10
public:
void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
int CalCursorCol(QPoint