您当前的位置: 首页 >  qt

DS小龙哥

暂无认证

  • 2浏览

    0关注

    679博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

QT软件开发:解决隐藏QWidget标题栏后窗体无法移动问题

DS小龙哥 发布时间:2021-07-24 13:58:00 ,浏览量:2

一、前言

一般自定义标题栏时,就需要将原窗口的标题栏隐藏掉。默认情况下窗口无法被鼠标拖动的,需要自己处理鼠标事件,移动窗口达到拖动效果。

二、实现代码

只实现了窗口的拖动,随意拉伸没有实现。

如果要完美实现拉伸效果,可以看这里:

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代码
关注
打赏
1664009229
查看更多评论
立即登录/注册

微信扫码登录

0.0380s