Qt——建立无边框窗口

under Qt  tag     Published on March 8th , 2020 at 01:18 pm

1、首先找到需要去除边框窗口的构造函数

首先转到类名.cpp

2、利用setWindowFlag函数

利用setWindowFlag函数设置

边框显示标志位

Qt::FramelessWindowHint

系统菜单标志位

Qt::WindowSystemMenuHint

最大最小化标志位

Qt::WindowMinMaxButtonsHint

    /*关闭窗口边框*/
    //this -> setWindowFlag(Qt::FramelessWindowHint); // 设置标志位
    this -> setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);

    /*给主窗口加阴影*/
    QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect();

    shadow -> setBlurRadius(10);    // 阴影范围
    shadow -> setColor(Qt::black);  // 阴影颜色
    shadow -> setOffset(0);         // 阴影偏移
    ui -> loginWidget -> setGraphicsEffect(shadow);    // 只能把阴影效果附加在子窗口上
    this -> setAttribute(Qt::WA_TranslucentBackground); // 把父窗口透明,只剩下子窗口,进而实现给“主”窗口加阴影

本文由simyng创作, 采用知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
  文章最后更新时间为:March 7th , 2020 at 09:58 pm