1
setWindowFlags(Qt::FramelessWindowHint | windowFlags());
1234567891011121314151617181920212223242526272829
#define WIDGET_H#include <QWidget>#include <a.out.h>namespace Ui {class ;}class : public QWidget{ Q_OBJECTpublic: explicit (QWidget *parent = 0); ~Widget();protected: virtual void mousePressEvent(QMouseEvent *event); virtual void mouseMoveEvent大专栏 Qt 隐藏标题栏 窗口移动 鼠标事件an>(QMouseEvent *event); // 移动 virtual void mouseReleaseEvent(QMouseEvent *event); // 鼠标释放private: Ui::Widget *ui; bool m_pressed; // 判断鼠标左键是否按下 QPoint m_pos; // 鼠标相对于窗口的位置,不是相对屏幕的位置};#endif // WIDGET_H
1234567891011121314151617181920212223
void Widget::mousePressEvent(QMouseEvent *event){ if (event->button() == Qt::LeftButton) { m_pressed = true; m_pos = event->pos(); }}void Widget::mouseMoveEvent(QMouseEvent *event){ if(m_pressed) { move(event->pos() - m_pos + this->pos()); }}void Widget::mouseReleaseEvent(QMouseEvent *event){ Q_UNUSED(event); // avoid the warnning that 'event' is unused while building the project m_pressed = false;}