【问题标题】:Qt: hiding then showing QQuickView prevents future mouse eventsQt:隐藏然后显示 QQuickView 防止未来的鼠标事件
【发布时间】:2016-11-09 05:46:06
【问题描述】:

我使用 createWindowContainer() 将 QQuickView 嵌入到另一个小部件上。

quickView = new QQuickView(...);
container = new QWidget();
createWindowContainer(quickView, container);

然后我将容器小部件添加到窗口内的小部件中。

layout = new QVBoxLayout();
fullWindowWidget->setLayout(layout);
layout->addWidget(container);

这似乎在渲染方面工作得很好,但如果我隐藏然后显示容器,QQuickView QML 场景似乎无法处理鼠标事件。如果我在容器可见的情况下启动应用程序,它会很好地处理鼠标事件。但是,如果我从隐藏容器开始并显示容器,则对容器的任何点击似乎都会冒泡到它后面的小部件。隐藏容器是否会使 QQuickView 处于一种奇怪的状态,即使它再次可见也会阻止点击?

【问题讨论】:

    标签: c++ qt qml qtquick2


    【解决方案1】:

    看起来我在主窗口上调用grabMouse()。在显示容器之前调用releaseMouse() 似乎可以修复它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多