Qt:非矩形 QWidget 是否允许重叠?

发布于 2024-11-10 14:09:38 字数 190 浏览 0 评论 0原文

如果我有多个非矩形的自定义QWidget(例如圆形按钮),我可以重叠它们吗?

似乎没有办法让 Qt 知道小部件的哪些部分是不透明的,因此鼠标事件被传递到正确的 QWidget (看起来 Qt 假设每个小部件占据其边界矩形)。

我应该将这些小部件变成 QGraphicsItem 吗?

If I have multiple non-rectangular custom QWidgets (e.g. circle-shaped buttons), can I overlap them?

It seems there is no way to let Qt know which parts of the widgets are opaque, so mouse event are delivered to the correct QWidget (It looks like Qt assumes each widget occupies its bounding rectangle).

Should I turn these widgets into QGraphicsItems instead?

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

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

发布评论

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

评论(1

娇女薄笑 2024-11-17 14:09:38

如果您希望 QWidgets 是非矩形的,您可以给它们一个掩码。这应该可行,但创建遮罩区域并不总是那么简单。 QGraphicsItem 无疑使处理非矩形形状变得更加容易。

You can give QWidgets a mask if you want them to be non-rectangular. This should work, but it's not always straightforward to create the mask region. QGraphicsItem certainly makes handling non-rectangular shapes much easier.

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