QML中是否有类似于QT的setMask() API的API?

发布于 2024-12-10 11:41:38 字数 199 浏览 0 评论 0原文

我们想要使 QML 矩形的特定区域透明。

对于 QT,为了做同样的事情,我们使用了 QWidget 的 setMask API。

QML 中是否有具有相同功能的 API?

我的感觉是,我们可以使用将 QML 矩形传递到 QT cpp 文件并在矩形上使用 setMask() API,但这可能吗?

谢谢, 阿比吉特·沙阿

We want to make a particular region of a QML rectangle transparent.

In case of QT, to do the same thing, we have used the setMask API of QWidget.

Is there any API in QML which does the same.

What I feel is that we can use the pass the QML rectangle to the QT cpp file and use setMask() API on the rectangle, but will this be possible?

Thanks,
Abhijeet Shah

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

那请放手 2024-12-17 11:41:38

恐怕当时唯一的方法是制作您自己的 QDeclarativeItem 并使用 C++ 函数向您的 Item 添加掩码。

据报道,QT 开发人员建议支持普通 QML 项目中的屏蔽,将在QtQuick 2.0中发布。

I'm afraid the only way to do it at time is making your own QDeclarativeItem and using the C++ functions to add a mask to your Item.

Support to masking in plain QML Items was suggested to the QT developers and, as reported, will be released in QtQuick 2.0.

烟酒忠诚 2024-12-17 11:41:38

我不知道有什么可以简单地做到这一点。除非我们只讨论矩形。

不管怎样,你可能想尝试 QML Arsenal 的 MaskedImage: https://github.com/omailson/qml- maskeditem 或 MaskedItem,似乎可用: https://bugreports.qt.io/browse/QTCOMPONENTS-388

I don't know of anything to do this simply. Unless we're talking about rectangles only.

Anyway, you might want to try MaskedImage from QML Arsenal: https://github.com/omailson/qml-maskeditem or MaskedItem, which seems to be usable: https://bugreports.qt.io/browse/QTCOMPONENTS-388.

有木有妳兜一样 2024-12-17 11:41:38

尝试渐变:

Gradient{
  id: id
  GradientStop { position: 0.0; color: "transparent" }
  GradientStop { position: 0.9; color: "transparent" }
  GradientStop { position: 1.0; color: "red"}
}

Try gradient:

Gradient{
  id: id
  GradientStop { position: 0.0; color: "transparent" }
  GradientStop { position: 0.9; color: "transparent" }
  GradientStop { position: 1.0; color: "red"}
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文