Qiuchh 2017-11-01 02:46 采纳率: 0%
浏览 4890

Qt 如何实现在视频播放窗体上面叠置一层半透明的窗体

有三个QWidget,分别为ABC,A在最底层,B在中间层,显示视频,C在最上层,透明,可以在C上绘图或者放置一些控件。但是现在
raise();
setWindowFlags(Qt::WindowStaysOnTopHint);//置顶
setAttribute(Qt::WA_TranslucentBackground);
都试过,C还是会覆盖掉B中的视频,请问有什么办法让C透明

  • 写回答

3条回答 默认 最新

  • 豁然开朗v5 2023-12-25 11:42
    关注

    设置透明窗体:
    1.先设置windowFlag,setWindowFlags(Qt::FramelessWindowHint | Qt::Tool | Qt::SubWindow);
    2.然后再设置属性 setAttribute(Qt::WA_TranslucentBackground, true);
    3.然后在透明窗口的paintEvent绘制半透明的背景

    评论

报告相同问题?