QGraphicsScene中嵌入QWidget点击时childAt获得的是QWidget,而不是设置的控件
时间: 2024-03-03 19:51:44 浏览: 159
如果您使用 QGraphicsScene 中的 QGraphicsProxyWidget 将 QWidget 添加到场景中,则在调用 childAt() 方法时,将返回 QGraphicsProxyWidget,而不是 QWidget。因为 QGraphicsProxyWidget 是 QGraphicsItem 的子类,而 QGraphicsItem 是 QGraphicsScene 中的基本元素。如果您需要获取该控件,可以使用 QGraphicsProxyWidget 的 widget() 方法获取QWidget 对象。例如:
```python
# proxy 是 QGraphicsProxyWidget 对象
proxy = scene.addWidget(widget)
# 获取控件
widget = proxy.widget()
# 获取控件位置
pos = proxy.pos()
```
阅读全文