【问题标题】:Qml window with transparent mask带有透明蒙版的 Qml 窗口
【发布时间】:2013-09-12 12:45:46
【问题描述】:

我编写了一些应用程序,需要创建带有透明蒙版的窗口。 如何创建具有蒙版透明度的 QtQuick 2.0 顶级窗口?

【问题讨论】:

标签: c++ qt qml


【解决方案1】:

对于遮罩,你可以使用QWindow的setMask函数,它适用于QQuickView。但是您需要使用 QQuickView 而不是 qmlscene 应用程序启动 QML UI (cf http://qt-project.org/doc/qt-5.1/qtgui/qwindow.html#setMask)

【讨论】:

  • 我应该如何将蒙版设置为带有 Alpha 通道的图像?
  • 是的,使用 QPixmap::mask() : view.setMask(QPixmap(":/images/mask.png").mask());
  • 对不起,半透明呢?我为窗口应用了相同的掩码,我看到的是:gyazo.com/11ad63fc89baed0c62691ef3fe5d657e
  • 掩码使用二进制值,则不能为 alpha 设置实际值。使用 opacity 属性(用于项目中的唯一 alpha 值)ou Image(我认为 jpeg 格式不支持 alpha 通道,使用 png。或反向)。
  • 我使用带有 alpha 的 png 图像作为蒙版和背景。我到底需要做什么?
猜你喜欢
  • 2022-11-15
  • 1970-01-01
  • 2011-12-17
  • 2018-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多