SuperAPI AI 工具集

obs-cpp-qt-patterns

编程与开发

查看项目

更新于 10-16 06:47

技能介绍

用途:为 OBS Studio 插件集成 C++ 与 Qt6,实现设置对话框、前端 API 访问和较丰富的 UI 组件,并处理 CMake 配置、可选 Qt 构建与平台回退。

主要能力:用 Qt6 Widgets 编写设置对话框类(含 Q_OBJECT、信号槽);通过 OBS 前端 API 获取主窗口、订阅与取消订阅前端事件、向工具菜单添加项、添加可停靠面板;用 CMAKE_AUTOMOC/AUTOUIC 自动处理 moc;用 find_package(Qt6 COMPONENTS Widgets QUIET) 做可选构建,未找到 Qt 时回退到纯 C 前端或平台原生提示;提供 C 与 C++ 混用的 extern "C" 头文件模式;给出 Qt 线程通信与避免阻塞 OBS 主线程的做法。

使用方式:CMake 中设置 CMAKE_CXX_STANDARD 17、CMAKE_AUTOMOC ON、CMAKE_AUTOUIC ON,按 BUILD_WITH_QT 条件添加 Qt 源文件、编译定义与 Qt6::Widgets 链接,并可选链接 OBS::obs-frontend-api;在 OBS_FRONTEND_EVENT_FINISHED_LOADING 后再创建 Qt 控件;通过 obs_frontend_add_tools_menu_item 等注册入口。

适用场景:需要图形化设置界面或前端交互的 OBS 插件开发。

限制与注意:不要在 UI 回调中阻塞,避免在音频线程使用 Qt 控件,不要混用 Qt 版本,缺少 Q_OBJECT 或 AUTOMOC 会导致链接错误,直接调用前端 API 前应检查是否可用。交叉编译、Windows 构建、音频插件核心逻辑与代码审查不在本技能范围。具体安装命令与版本要求资料未提供。