QT 无标题栏 实现窗体移动

本文介绍了如何在QT中隐藏标题栏并实现无标题栏窗体的鼠标拖动功能,通过设置事件过滤器及处理鼠标事件,使得用户能方便地移动窗口。
摘要由CSDN通过智能技术生成

由于qt自带的标题栏太丑了,必须把标题栏隐藏掉。

使用如下语句可以隐藏标题栏:

this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);

如何实现通过鼠标移动无标题栏的窗体:

1.头文件:
#include "qevent.h"

2.  在h文件中申明:

 bool  eventFilter(QObject *watched, QEvent *evt);

3.在窗体初始化时,安装事件过滤器:

 this->installEventFilter(this);

4.鼠标事件:

//移动窗体
bool welcomeform::eventFilter(QObject *watched, QEvent *evt)
{
    static QPoint mousePoint;
    static bool mousePressed = false;
    QMouseEvent *event = static_cast<QMouseEvent *>(evt);
    if (event->type() == QEvent::MouseButtonPress) {
 
        if (event->button() == Qt::LeftButton) {
 
            mousePressed =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chilian12321

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值