Fluent-Qt

扩展模块

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
}

渲染后端与平面模式

setRenderMode() 请求 Auto、Raster 或 OpenGL。OpenGL 不可用时会回退到 Raster,仍保持透视,activeBackend() 和 fallbackReason() 报告结果。setSpatialEnabled(false) 把同一批控件放回普通的纵向布局;减弱动效、高对比度,以及在场景中按 Tab 或 Esc,也会切换到这种平面模式。输入文字、弹出窗口和无障碍场景请使用平面模式。

API 参考