· 技术笔记 · 6 次阅读

QFluentKit:让 Qt 桌面应用拥有 Fluent Design 风格

你还在用 Qt 默认的按钮和输入框吗?Qt 的原生控件功能没问题,但样式确实让人回到 Windows 7 时代。QFluentKit 是一个开源的 Fluent Design Qt 组件库,让桌面应用 UI 现代化。

为什么需要 QFluentKit

Qt 的原生控件功能上无可挑剔,但样式确实停留在上个时代。QSS 理论上能解决样式问题,但实际开发中调试成本高、跨平台表现不一致、动画支持有限。

QFluentKit 提供了另一种思路:一套开箱即用的 Fluent Design 风格组件,同时保持 Qt 的跨平台能力和原生性能。

QFluentKit 效果展示

QFluentKit 组件效果

核心亮点

  • 248+ 内置 SVG 图标:覆盖 FluentIcon 全集,开箱即用
  • 亮色/暗色主题:支持 AUTO/LIGHT/DARK 三种模式,跟随系统或手动切换
  • 动画系统:内置动画基类,交互体验流畅
  • 路由系统:配合 StackedWidget 实现页面切换
  • Fluent Design 风格:圆角、毛玻璃、亚克力材质效果

核心功能展示


组件一览

QFluentKit 提供了完整的组件分类:

分类 包含组件
BasicInput 按钮、输入框、复选框、单选框、滑块、开关等
Display 标签、进度条、信息条、徽章等
DateTime 日期选择器、时间选择器
Menu 菜单、右键菜单
Dialog 对话框、消息框
Layout 布局容器、流式布局
Progress 进度条、进度环
Setting 设置卡片、设置项
Material 材质效果(亚克力、云母等)

快速上手

环境要求

  • Qt 5.12+ 或 Qt 6.x
  • C++17 标准
  • CMake 3.15+
  • 编译器:MinGW 8.0+/MSVC 2017+(Windows)、GCC 7+/Clang 5+(Linux)、Clang/Xcode 10+(macOS)

集成方式

提供了四种集成方案:

  1. 安装到 Qt 目录(推荐):安装后只需 find_package(QFluent REQUIRED) + target_link_libraries,最简洁
  2. 安装到自定义目录:适合项目级别的依赖管理
  3. 子目录集成add_subdirectory(QFluentKit),适合作为项目子模块
  4. 手动集成:最灵活,但也最繁琐

基本用法

#include <QWidget>
#include <QApplication>

#include "QFluent/LineEdit.h"
#include "QFluent/PushButton.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 创建 Fluent 窗口
    QWidget window;
    window.setWindowTitle("QFluentKit 示例");
    window.resize(800, 600);

    // 创建按钮
    auto *button = new PrimaryPushButton(&window);
    button->setText("点击我");
    button->move(350, 280);

    // 创建输入框
    auto *lineEdit = new LineEdit(&window);
    lineEdit->setPlaceholderText("请输入内容...");
    lineEdit->move(350, 340);

    window.show();
    return app.exec();
}

项目结构

项目结构


页面效果

QFluentKit 自带 15 个演示界面,涵盖了所有组件的使用方式,包括登录窗口、导航栏窗口、分栏窗口等常见场景。


官方地址

GitHub:https://github.com/toddming/QFluentKit


本文转发自微信公众号「晓懂聊科技」,原文链接

评论

加载评论中...

发表评论