Qt3DRender::QNoPicking Class
class Qt3DRender::QNoPicking当 FrameGraph 分支中存在一个Qt3DRender::QNoPicking 节点时,这将阻止渲染方面对该分支执行拾取选择。更多内容...
| 标题: | #include <qnopicking.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| 在 QML 中: | NoPicking |
| 继承自: | Qt3DRender::QFrameGraphNode |
| 状态: | 已弃用 |
该类已弃用。我们强烈建议不要在新代码中使用它。
详细说明
当禁用时,Qt3DRender::QNoPicking 节点不会阻止拾取操作的执行。因此,切换enabled属性的状态是使Qt3DRender::QNoPicking 处于活动或非活动状态的一种方式。
在 FrameGraph 中使用多个子视口时,QNoPicking 可用于防止重叠视口或非可见视口之间的选取冲突。它还可以作为一种优化手段,避免为隐藏视口或场景中无需进行选取的区域执行不必要的工作。
Qt3DRender::QViewport *viewport = new Qt3DRender::QViewport();
Qt3DRender::QCameraSelector *cameraSelector = new Qt3DRender::QCameraSelector(viewport);
Qt3DRender::QNoPicking *noPicking = new Qt3DRender::QNoPicking(cameraSelector);
Qt3DRender::QClearBuffers *clearBuffers = new Qt3DRender::QClearBuffers(noPicking);
clearBuffers->setBuffers(Qt3DRender::QClearBuffers::ColorDepthBuffer);
Qt3DRender::QRenderPassFilter *mainPass = new Qt3DRender::QRenderPassFilter(cameraSelector);
....
Qt3DRender::QRenderPassFilter *previewPass = new Qt3DRender::QRenderPassFilter(cameraSelector);
....另请参阅 Qt3DRender::QObjectPicker 、Qt3DRender::QRayCaster 以及Qt3DRender::QScreenRayCaster 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.