Qt中去掉边框是很容易的setWindowFlags(Qt::FramelessWindowHint|Qt::WindowMinMaxButtonsHint);就可以实现。
但是去掉边框之后就不能实现鼠标对窗口的拉大和缩小,要实现对窗口的拉大缩小,有两种方案:
1:去处理bool winEvent( MSG *message, long *result );重新实现,由于Qt可以接收Windows的消息,所以可在winEvent()函数中去处理Windows的消息,从而达到效果。
注意的是,要包含头文件Windows.h ,如果要使用宏GET_X_LPARAM和GET_Y_LPARAM就要包含#include <WindowsX.h>.
2: 去实现bool eventFilter( QObject * watched, QEvent * event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mousePressEvent(QMouseEvent *event);