menghuan1111 2022-12-28 17:17 采纳率: 0%
浏览 25

QOpenglWidget如何悬浮透明控件

QOpenglWidget上方固定一个QWidget窗口,设置QWidget样式为透明,但是窗口没有透明

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-28 17:31
    关注
    • ① 可以在创建 QWidget 时设置它的透明度,如下所示:
    QWidget *widget = new QWidget(this);
    widget->setWindowOpacity(0.5); // 设置窗口的透明度为 0.5,即半透明
    
    • ② 还可以使用 setStyleSheet() 函数设置 QWidget 的背景色,并使用透明度值来调整透明度,如下所示:
    QWidget *widget = new QWidget(this);
    widget->setStyleSheet("background-color: rgba(255, 255, 255, 0.5);"); // 设置背景色为半透明白色
    

    这种方法设置的透明度仅对背景色有效,如果 QWidget 上还有其他控件,则不会受到影响。

    • ③ 要使 QWidget 上的所有控件都透明,你可以使用 setAttribute() 函数设置 QWidget 的 Qt::WA_TranslucentBackground 属性,如下所示:
    QWidget *widget = new QWidget(this);
    widget->setAttribute(Qt::WA_TranslucentBackground); // 设置 QWidget 的背景为透明
    

    你就可以创建一个完全透明的 QWidget,并在其上方放置一个 QOpenglWidget。

    • ④ 你可以使用 setWindowFlags() 函数将 QWidget 设置为悬浮窗口,如下所示:
    QWidget *widget = new QWidget(this);
    widget->setWindowFlags(Qt::Window | Qt::FramelessWindowHint); // 设置 QWidget 为无边框悬浮窗口
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月28日

悬赏问题

  • ¥15 问题遇到的现象和发生背景 360导航页面千次ip是20元,但是我们是刷量的 超过100ip就不算量了,假量超过100就不算了 这是什么逻辑呢 有没有人能懂的 1000元红包感谢费
  • ¥30 计算机硬件实验报告寻代
  • ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
  • ¥15 用C语言判断命题逻辑关系
  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘