gpt4 book ai didi

python - QLayout 中的重叠小部件

转载 作者:行者123 更新时间:2023-12-01 02:06:19 25 4
gpt4 key购买 nike

我想创建一个窗口,其中Qt3DWindow在后面,一些QPushButton在它上面。但是,仅显示 Qt3DWindow 动画,而看不到 QPushButton。我还希望有 Qt3DWindow 功能和 QPushButton (这样我就可以点击后面的按钮或 3D 动画)。仅当我将 Qt3DWindow 透明度设置为较低值时才能看到按钮。当然,在这种情况下,按钮只能看到,但不起作用。

class MainWindow(QMainWindow):
def __init__(self, *args):
QMainWindow.__init__(self, *args)

self.window = Window() # Qt3DExtras.Qt3DWindow
self.container = self.createWindowContainer(self.window)

self.buttons = Buttons()
self.layout().addWidget(self.buttons.view) # QtWidgets.QGraphicsView
self.layout().addWidget(self.container)

最佳答案

QWidget::createWindowContainer() 将处理窗口的几何形状,但它确实改变了托管窗口仍然覆盖包含窗口小部件的窗口的事实。因此该小部件的任何子部件都将不可见,因为它将被 Qt3DWindow 遮挡。

唯一可行的替代方案是将您想要覆盖的小部件移动到它们自己的窗口中并自己处理它的几何形状。

或者在 QDeclarativeWidget 中使用 Scene3D,但这会影响性能。

关于python - QLayout 中的重叠小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49029780/

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