gpt4 book ai didi

python - 将 QGraphicsView 添加到 QGraphicsWidget

转载 作者:行者123 更新时间:2023-11-30 22:57:08 37 4
gpt4 key购买 nike

我试图在 QGraphicsWidget 中显示 QGraphicsView,但我似乎无法让它工作。

这就是我想要实现的目标,其中QGraphicsWidgets全部添加到QGraphicsScene中,并且每个小部件都有自己的QGraphicsScene和QGraphicsView。 enter image description here大框代表主视图,小框代表小部件,每个小部件都有自己的 View 和场景。

由于以下错误,我当前的实现不起作用:

TypeError: QGraphicsLinearLayout.addItem(QGraphicsLayoutItem): argument 1 has unexpected type 'QGraphicsView'

我在QGraphicsWidget子类中的实现:

self.scene = QtGui.QGraphicsScene(self)
self.view = QtGui.QGraphicsView(self.scene)
self.view.setRenderHint(QtGui.QPainter.Antialiasing)

self.setLayout(QtGui.QGraphicsLinearLayout(Qt.Vertical))
self.layout().addItem(self.view)

我尝试使用 QGraphicsLayoutItem 来实现此功能,但找不到放置 QGraphicsView 的地方。

如有任何帮助,我们将不胜感激。

最佳答案

函数QGraphicsLinearLayout.addItem需要一个QGraphicsWidget参数,并且您正在传递一个普通的QWidget(QGraphicsView) .

您可以使用QGraphicsProxyWidget类,它是专门为将QWidget包装到QGraphicsWidget中而设计的。

我手上没有Qt + Python,但我认为它应该如下所示:

proxy = parentView.addWidget(nestedView) # QWidget -> QGraphicsWidget
self.layout().addItem(proxy)

关于python - 将 QGraphicsView 添加到 QGraphicsWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36821548/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com