扩展模块
Spatial 透视视图
以透视方式显示现有控件,需要时切换为平面布局。
创建视图
链接 FluentQt::Spatial,激活 SpatialSession 后创建 SpatialView。SpatialView::addWidget() 把控件包装成 SpatialItem,用来设置位置、旋转和深度。控件仍然可以接收鼠标和键盘输入。
#include <FluentQt/Spatial.h>
// The session uses its own PluginManager; window stays caller-owned.
auto* session = new fluent::spatial::SpatialSession(window, window);
if (session->activate()) {
auto* view = session->createView(parentWidget);
fluent::spatial::SpatialItem* item = view->addWidget(card); // borrowed by default
}from fluentqt.spatial import SpatialSession
# The session uses its own PluginManager; window stays caller-owned.
session = SpatialSession(window, window)
if session.activate():
view = session.createView(parent_widget)
item = view.addBorrowedWidget(card)渲染后端与平面模式
setRenderMode() 请求 Auto、Raster 或 OpenGL。OpenGL 不可用时会回退到 Raster,仍保持透视,activeBackend() 和 fallbackReason() 报告结果。setSpatialEnabled(false) 把同一批控件放回普通的纵向布局;减弱动效、高对比度,以及在场景中按 Tab 或 Esc,也会切换到这种平面模式。输入文字、弹出窗口和无障碍场景请使用平面模式。