QT自定义窗口标题栏实现拖动双击放大缩小

该博客介绍了如何在Qt中去除窗口默认边框,自定义标题栏以实现拖动、双击放大缩小等操作。通过详细代码展示了实现过程,并对原有教程进行了整理和错误修正。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    去掉Qt窗口的标题边框,重新定义标题栏,可以在标题栏上实现更多的功能,能满足更多的开发需求,可以实现标题栏的拖动,双击,自定义放大缩小。

     本文引用自:http://www.devbean.net/2011/10/custom-qt-titlebar/,感谢原作者,本文对其进行了重新整理,并且修改了一些小问题。

    运行界面如下:


    详细代码如下:

#include <QWidget>
#include <QToolButton>
#include <QPixmap>

class XMainWindowTitle : public QWidget
{
    Q_OBJECT
public:
    XMainWindowTitle(QWidget *parent);

public slots:
    void showSmall();

    void showMaxRestore();

protected:
    void mousePressEvent(QMouseEvent *e);
    void mouseMoveEvent(QMouseEvent *e);
    void mouseDoubleClickEvent(QMouseEvent *e);

private:
    QToolButton *minimize;
    QToolButton *maximize;
    QToolButton *close;
    QPixmap restorePix, maxPix;
    bool maxNormal;
    QPoint startPos;
    QPoint clickPos;
};
#include "XMainWindowTitle.h"
#include <QHBoxLayout>
#include <QMouseEvent>
#include <QStyle>
#include <QLabel>

XMainWindowTitle::XMainWindowTitle(QWidget *parent)
{
    // 不继承父组件的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值