Fluent-Qt

API 参考

WindowChromeCompat

窗口 chrome 行为的跨平台适配器。

compatibility::WindowChromeOptions

平台窗口 chrome 集成使用的声明式配置。

字段

QRect titleBarRect

可作为可拖拽 caption 区域的本地标题栏矩形。

QVector<QRect> dragExclusionRects

必须保留为普通 client 区域的子控件本地矩形。

int resizeBorderWidth = 8

resize 命中测试边框宽度,单位为设备无关像素。

bool useCustomWindowChrome = false

启用由 Fluent 管理的标题栏/非客户区集成。

bool preferNativeMacControls = true

可用时保留 macOS 原生 traffic-light 窗口按钮。

bool chromeInteractive = true

为 false 时锁定 chrome 移动/缩放,用于模态覆盖层。

compatibility::WindowChromeCompat

构造函数

方法

void configure(const WindowChromeOptions& options)

替换当前 chrome 配置,并同步平台侧几何。

void applyPlatformWindowFlags()

应用当前 chrome 策略需要的平台窗口 flag。

bool systemBackdropSupported() const

当前平台是否支持半透明系统背景。

BackdropCapabilities backdropCapabilities() const

返回当前会话逐效果的平台能力。

bool beginSystemMove(const QPoint& globalPos)

启动平台系统移动操作。

bool beginSystemResize(Qt::Edges edges, const QPoint& globalPos)

针对指定边缘启动平台系统缩放操作。

bool performTitleBarDoubleClick()

执行平台标题栏双击动作。

bool showSystemMenu(const QPoint& globalPos)

在指定全局坐标处显示平台系统菜单。

bool requestForegroundActivation()

通过平台窗口管理器请求将窗口激活到前台。

HitTest hitTestLocal(const QPoint& localPos) const

根据配置的标题栏和缩放区域对本地点进行命中分类。

枚举

enum class Platform

用于 chrome 策略决策的运行时平台族。

  • Windows
  • MacOS
  • Linux
  • Other
enum class HitTest

映射到平台原生 code 前的逻辑命中测试结果。

  • Client
  • Caption
  • Left
  • Right
  • Top
  • Bottom
  • TopLeft
  • TopRight
  • BottomLeft
  • BottomRight

compatibility

类型与别名

using FluentNativeEventResult = qintptr

跨 Qt 版本用于 QWidget::nativeEvent() 的原生事件结果类型。