一、前言
一般自定义标题栏时,就需要将原窗口的标题栏隐藏掉。默认情况下窗口无法被鼠标拖动的,需要自己处理鼠标事件,移动窗口达到拖动效果。
二、实现代码只实现了窗口的拖动,随意拉伸没有实现。
如果要完美实现拉伸效果,可以看这里:
2.1 widget.h代码#ifndef LOGIN_MAIN_H
#define LOGIN_MAIN_H
#include
namespace Ui {
class login_main;
}
class login_main : public QWidget
{
Q_OBJECT
public:
.........
private slots:
.........
protected:
//截取鼠标事件绘制窗口位置. 因为标题栏隐藏后.窗口是无法拖动的。
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event);
private:
.........
bool isPressedWidget;
QPoint m_lastPos;
};
#endif // LOGIN_MAIN_H
2.2 widget.cpp代码