C++ Qt:隐藏然后显示QQuickView可防止将来发生鼠标事件
我使用createWindowContainer()在另一个小部件上嵌入了一个QQuickView 然后我将容器小部件添加到窗口内的小部件中C++ Qt:隐藏然后显示QQuickView可防止将来发生鼠标事件,c++,qt,qml,qtquick2,C++,Qt,Qml,Qtquick2,我使用createWindowContainer()在另一个小部件上嵌入了一个QQuickView 然后我将容器小部件添加到窗口内的小部件中 layout = new QVBoxLayout(); fullWindowWidget->setLayout(layout); layout->addWidget(container); 这似乎可以很好地进行渲染,但如果我隐藏然后显示容器,QQuickView QML场景似乎不会处理鼠标事件。如果我在容器可见的情况下启动应用程序,它可以很好
layout = new QVBoxLayout();
fullWindowWidget->setLayout(layout);
layout->addWidget(container);
这似乎可以很好地进行渲染,但如果我隐藏然后显示容器,QQuickView QML场景似乎不会处理鼠标事件。如果我在容器可见的情况下启动应用程序,它可以很好地处理鼠标事件。但是,如果我从隐藏容器开始并显示容器,那么在容器上的任何单击似乎都会冒泡到它后面的小部件。隐藏容器是否会使QQuickView处于一种奇怪的状态,即使它再次可见,也会阻止单击 看起来我在主窗口上调用了
grabMouse()
。在显示容器之前调用releaseMouse()
,似乎可以解决这个问题 看起来我在主窗口上调用了grabMouse()
。在显示容器之前调用releaseMouse()
,似乎可以解决这个问题
layout = new QVBoxLayout();
fullWindowWidget->setLayout(layout);
layout->addWidget(container);