Qt:非矩形 QWidget 是否允许重叠?
如果我有多个非矩形的自定义QWidget
(例如圆形按钮),我可以重叠它们吗?
似乎没有办法让 Qt 知道小部件的哪些部分是不透明的,因此鼠标事件被传递到正确的 QWidget
(看起来 Qt 假设每个小部件占据其边界矩形)。
我应该将这些小部件变成 QGraphicsItem 吗?
If I have multiple non-rectangular custom QWidget
s (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 QGraphicsItem
s instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您希望 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.