Qt Creator 17带来全新界面与更强CMake集成
2025年6月,Qt团队正式发布了Qt Creator 17,这是依赖该IDE进行跨平台Qt、C++、QML和Python开发的开发者的重要里程碑。虽然内部有许多更改,但两个重点改进是其更新的默认视觉样式和对CMake支持的显著增强。
Qt Creator 17新功能概览
在深入了解主题和CMake更改之前,以下是版本17的一些更广泛改进:
- “2024"主题套装(浅色和深色变体)成为所有新安装的基础外观
- 整个用户界面的全面优化:图标更新、更一致的间距和更好的对比度
- 项目现在将运行配置更紧密地绑定到构建配置
- 升级的C++工具(使用LLVM 20.1.3)、改进的QML格式化选项、增强的Python支持和版本控制与分析工具的精炼
刷新的视觉标识:默认"2024"主题
更改内容
Qt Creator 17使"2024"浅色和深色主题成为新安装的标准外观。这些主题之前已经可用(自Qt Creator 15起),但在此版本中成为开箱即用配置。
其他视觉调整伴随主题更改:
- 整个IDE中的图标已审查和更新,以更好地与新主题风格对齐
- 改进了UI一致性:界面元素之间的间距、对比度和对齐方式已优化
这些更改的重要性
主题不仅仅是美学。IDE的外观影响用户舒适度、可读性、效率甚至疲劳度。一些好处包括:
- 提高长时间编码会话的清晰度
- 跨元素的一致性
- 减少设置摩擦
如何自定义或恢复
如果您喜欢不同的主题:
- 导航到Preferences → Environment → Interface → Theme
- 您可以切换回旧主题或选择自定义主题
强大的CMake增强功能
Qt Creator 17中的CMake支持不仅仅是增量改进;几项新功能减少了设置麻烦并促进更顺畅的项目维护。
引入的关键功能
功能 | 描述 |
---|---|
自动安装缺失的Qt组件 | 当CMake项目配置因某些Qt包未安装而失败时,Qt Creator现在可以触发Qt在线安装程序获取并安装所需模块 |
Find-package依赖提供程序 | IDE将监视CMakeLists中的find_package()调用。如果调用的Qt组件缺失,Qt Creator会提供帮助来安装它并更新构建配置 |
修复缺失的包含/包声明 | 当您使用尚未在CMake配置中正确包含或声明的Qt头文件或类时,IDE可以建议"修复"来自动添加这些依赖项 |
更好地处理预设 | 如果您的项目定义了CMake预设(例如用于Android或其他嵌入式目标),Qt Creator现在能更好地识别和使用它们 |
与QMake风格便利性更接近 | Qt Creator 17解析CMakeLists中的project()命令以早期提取项目名称,使得像%{Project:Name}这样的宏更直观地解析 |
这些改进如何帮助开发者
- 减少设置开销
- 更高的可靠性
- 改进的跨平台/多目标工作流程
- 更好地桥接旧的QMake习惯和现代CMake工作流程
更新后的实用建议
操作 | 为什么有帮助 |
---|---|
启用包管理器自动设置 | 缺失的Qt组件可以自动安装,而不是弹出隐晦错误 |
检查现有CMake项目的find_package()正确性 | 即使有新帮助,一些传统或自定义项目可能仍依赖手动链接 |
调整运行/构建配置 | 由于运行配置现在与构建配置关联,请仔细检查您的Debug/Release/自定义构建是否使用正确的运行设置 |
在典型工作流程下测试主题 | 调整主题或字体设置以适应您的CPU、屏幕、灯光设置 |
对跨平台目标使用预设 | 定义和调整预设,以便Qt Creator选择正确的运行设备等 |
可能的缺点和注意事项
虽然大多数更改是积极的,但需要注意一些权衡:
- 学习曲线:切换到新的默认主题可能让习惯旧外观的长期用户感到不适
- 自动安装可能需要手动监督:如果您的环境具有限制性权限或自定义Qt安装,自动安装可能会失败或需要提升权限
- CMake自动化中的边缘情况:具有高度自定义CMake设置或非标准目录布局的项目可能会混淆"依赖提供程序"或预设
- 主题与插件/外部工具的兼容性:一些第三方插件或自定义工具可能假设旧主题或特定视觉效果
结论
Qt Creator 17无疑是Qt IDE领域的重大进步。转向"2024"浅色/深色主题作为默认设置,加上对CMake处理的一系列生活质量改进,表明Qt团队不仅关注原始功能,还关注开发者的完善体验:事物的感觉、遇到不必要摩擦的频率以及缺失部分被突出显示和纠正的速度。
如果您经常使用CMake,或管理具有多个构建配置的项目,Qt Creator 17的改进可能会节省您的时间并减少错误。对于那些习惯旧主题或手动依赖管理的人,仍然可以灵活恢复或自定义;但升级是完全合理的。