Qt::WindowStaysOnTopHint属性的坑——无边框效果被覆盖

  • Post author:
  • Post category:其他


问题描述:

在程序启动的时候,设置一个全屏的挡板效果,挡板需要显示在最前面

设置属性:widget->setWindowFlags(Qt::WindowStaysOnTopHint); //最前显示

坑:设置这个属性之后,本来设置了窗口无边框效果没效果了。

解决办法:

设置该属性之后,再设置无边框

widget->setWindowFlags(Qt::WindowStaysOnTopHint);

widget->setWindowFlags(Qt::FramelessWindowHint);

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget*widget = new QWidget();
    
//    widget->setWindowFlags(Qt::FramelessWindowHint);//设置无边框
    widget->setWindowFlags(Qt::WindowStaysOnTopHint); //设置最前显示 ,无边框效果被覆盖了
    widget->setWindowFlags(Qt::FramelessWindowHint); //再设置无边框,窗口才能无边框显示

    widget->setGeometry(0,0,1920,1080);
    widget->show();
    return a.exec();
}



版权声明:本文为weixin_43277501原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。