学习:隐藏标题栏,实现拖动窗口

在设置ui的部分隐藏标题栏

private:
     QPoint m_lastPos;//点坐标

代码:

     this->setWindowFlag(Qt::FramelessWindowHint);
重写鼠标事件
    void  mouseMoveEvent(QMouseEvent *event) override;//鼠标移动事件
    void  mousePressEvent(QMouseEvent *event) override;//鼠标按下事件
    void  mouseReleaseEvent(QMouseEvent *event) override;鼠标松开事件

//鼠标按下事件
void Widget::mousePressEvent(QMouseEvent *event)
{
    //记录鼠标按下时的窗口坐标
    m_lastPos = event->globalPos();
}
//鼠标松开事件
void Widget::mouseReleaseEvent(QMouseEvent *event)
{
    //记录鼠标松开时窗口的坐标
    m_lastPos = event->globalPos();
}

void Widget::mouseMoveEvent(QMouseEvent *event)
{
    //移动窗口
    this->move(this->x()+(event->globalX()-m_lastPos.x()),this->y()+(event->globalY()-m_lastPos.y()));
    //记录窗口坐标
    m_lastPos = event->globalPos();

}
`globalPos()`函数是Qt中`QMouseEvent`类的一个成员函数,用于获取鼠标事件发生时的全局坐标(屏幕坐标)。鼠标事件对象中的`globalPos()`函数返回一个`QPoint`对象,表示鼠标事件的全局坐标。
在Qt中,当鼠标点击或移动时,由鼠标事件对象`QMouseEvent`提供了当前鼠标事件的坐标信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值