Qt自定义主窗口的放大,缩小,关闭功能

Posted 一字千金

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt自定义主窗口的放大,缩小,关闭功能相关的知识,希望对你有一定的参考价值。

Qt标题栏无法添加自定义按钮,修改样式也改不了;所以需要自定义标题栏;同时支持拖动,双击放大的功能;

按钮设置

//设置为无边框,自定义关闭,放大,缩小按钮
    this->setWindowFlags(Qt::FramelessWindowHint);
    //顶部按钮响应
    connect(ui.pBClose, &QPushButton::clicked, [=]() close(); );
    connect(ui.pBMaxWindow, &QPushButton::clicked, [=]() 
        if (this->isMaximized())
        
            this->showNormal();
        
        else
        
            this->showMaximized();
        
    );
    connect(ui.pBMinWindow, &QPushButton::clicked, [=]() this->showMinimized(); );

 

void AlgorithmConfig::mousePressEvent(QMouseEvent * event)

    //只能是鼠标左键移动和改变大小
    if (event->button() == Qt::LeftButton)
    
        if (ui.widgetToolBar->underMouse())
        
            m_leftMousePressed = true;
            //按下时鼠标左键时,窗口在屏幕中的坐标
            m_StartPoint = event->globalPos();
        
    




void AlgorithmConfig::mouseReleaseEvent(QMouseEvent * event)

    m_leftMousePressed = false;


void AlgorithmConfig::mouseDoubleClickEvent(QMouseEvent * event)

    if (ui.widgetToolBar->underMouse())
    
        if (isMaximized())
        
            showNormal();
        
        else
        
            showMaximized();
        
    

 

以上是关于Qt自定义主窗口的放大,缩小,关闭功能的主要内容,如果未能解决你的问题,请参考以下文章

高德地图自定义放大缩小功能(好用)

Qt 显示图片 放大 缩小 移动(都是QT直接提供的功能)

自定义控件实现图像的显示和放大缩小,平移,右击菜单选择“自适应窗口”“保存图像”

WPF自定义窗口最大化显示任务栏

qt 拖拽 修改大小

4.8 自定义窗口演练鼠标和窗口事件