1. 为什么在Ubuntu上装Qt Creator不是“点几下就完事”的事?
你搜“ubuntu安装qtcreator”,页面刷出来一堆教程,点开一看——全是sudo apt install qtcreator这一行命令。然后呢?然后就没有然后了。很多人照着敲完,一打开Qt Creator,新建项目,点构建,报错:Kit is not valid、No valid kits found、Cannot find compiler 'gcc'……甚至干脆连“Projects”选项卡都灰掉。这时候才意识到:Qt Creator不是个独立运行的编辑器,它是个编译驱动型IDE,背后绑着整套工具链——编译器(gcc/g++)、构建系统(qmake/cmake)、Qt库本身、调试器(gdb)、甚至CMake配置文件解析器。它不负责给你配齐这些,只负责调用它们。
我第一次在Ubuntu 20.04上装Qt Creator时,就是这么栽的。apt install qtcreator确实装上了,界面很清爽,但新建一个空的Qt Widgets Application,点击“Run”,直接弹窗:“The selected kit is not valid.” 点开“Projects”设置页,Kit列表里空空如也,底下一行小字写着:“No kits available. Please install a compiler and Qt version.” ——这哪是安装失败?这是启动失败前的善意提醒。它没说“你缺gcc”,也没说“你没装Qt库”,更没告诉你“你装的Qt版本和Qt Creator版本不匹配”。它只说“Kit无效”,像一句哲学命题。
这就是为什么“ubuntu系统下安装Qtcreator”这个标题背后,真正要解决的从来不是“怎么把Qt Creator这个软件包装进系统”,而是如何在Ubuntu这个发行版的特定生态里,组装一套能协同工作的Qt开发环境。它涉及三个不可割裂的层:
- 底层工具链层:gcc/g++版本是否满足Qt要求?是否安装了multilib支持?是否装了gdb?是否装了make?
- 中间件层:Qt库本身有没有?是系统源里的旧版Qt5.12,还是你需要的Qt5.15或Qt6.x?是桌面版还是带OpenGL/SerialPort模块的完整版?
- IDE集成层:Qt Creator能否识别到上面两层?Kit配置里选的编译器路径对不对?Qt版本路径填的是
/usr/lib/x86_64-linux-gnu/qt5还是/opt/Qt/5.15.2/gcc_64?CMake Generator选的是“Unix Makefiles”还是“Ninja”?
热搜词里反复出现的“ubuntu安装gcc失败”、“gcc升级后为啥还是旧版本”、“qt unknown module in qt:serialport”,全都是这三个层之间没对齐的典型症状。比如你用apt install gcc装了gcc-11,但Qt Creator默认找的是/usr/bin/gcc,而你系统里可能同时存在gcc-9、gcc-11、gcc-12,update-alternatives没配好,它就永远卡在旧版本;再比如你用apt install qt5-default装了Qt5,但它不包含qtserialport模块,而你的项目.pro文件里写了QT += serialport,构建时自然报错——Qt Creator根本不会提示你“你少装了个模块”,它只报“unknown module”。
所以这篇内容,不讲“三步安装Qt Creator”,而是带你亲手把这套工具链从地基开始垒起来。我会拆解每一个环节的依赖逻辑、版本兼容边界、配置陷阱,以及Ubuntu特有的坑——比如apt源里Qt版本太老、snap安装的Qt Creator自带私有Qt导致Kit冲突、WSL2环境下OpenGL渲染失效、VMware虚拟机里Qt Designer拖控件卡死……这些都不是文档里写的“标准流程”,而是我在给客户部署嵌入式Qt开发环境、带学生做毕业设计、自己写工业HMI界面时,实打实踩出来的。你不需要记住所有命令,但得明白每一步为什么非做不可,不做会怎样,做了又该怎么验证它真起了作用。
2. 工具链选型:为什么不用apt install qtcreator,而要分步手动装?
很多人看到“Ubuntu官方源里有qtcreator包”,第一反应就是sudo apt update && sudo apt install qtcreator。这没错,但问题在于:Ubuntu官方源里的qtcreator包,是一个高度阉割、强绑定、版本滞后的发行版定制版。它不是Qt官方发布的Qt Creator二进制,而是Debian/Ubuntu维护者基于某个旧版Qt Creator源码,打上本地补丁,再链接系统里已有的Qt5库编译出来的。这种打包方式带来三个硬伤:
2.1 版本严重滞后,且无法自主升级
以Ubuntu 22.04 LTS为例,其apt源中qtcreator版本是10.0.1(2022年发布),而Qt官方最新稳定版已是13.0.2(2024年中)。差了整整三个大版本。这意味着你将错过:
- Qt6.5+对C++20模块化支持的完整IDE集成;
- Qt Creator 12.0起内置的Clangd语言服务器,提供远超
libclang的代码补全精度; - Qt Creator 13.0新增的“QML Profiler Timeline View”,能直观看到QML组件创建/销毁耗时;
- 对
cmake-presets.json的原生支持,告别手动填CMake参数。
更致命的是,你无法通过apt upgrade升级到新版。因为新版Qt Creator不再适配Ubuntu 22.04的旧glibc和Qt5.15.2 ABI,官方源不会推送。你只能要么忍受旧版,要么卸载apt版,再手动装新包——而这时你会发现,apt remove qtcreator会顺手把你系统里qt5-default、qtbase5-dev等基础库也干掉,整个Qt开发环境崩盘。
2.2 Kit自动检测机制被破坏,Kit配置变成玄学
apt版Qt Creator的编译器探测逻辑,是硬编码去读/usr/bin/gcc、/usr/bin/g++,并假设Qt库就在/usr/lib/x86_64-linux-gnu/qt5。但现实是:
- 你可能用
update-alternatives切到了gcc-12,/usr/bin/gcc软链接指向/usr/bin/gcc-12,但Qt Creator仍固执地认为它是gcc-11; - 你可能用
./qt-unified-linux-x64-4.8.0-online.run装了Qt6.5.3到/opt/Qt/6.5.3/gcc_64,但apt版Qt Creator根本不会扫描/opt/Qt目录,Kit列表里永远只有“Desktop Qt 5.15.2 GCC 64bit”(系统源里的旧版); - 你可能在WSL2里装了
clang++-14用于静态分析,但apt版Qt Creator的Kit编辑器里,“Compiler”下拉菜单里压根没有clang选项。
结果就是:你必须手动添加Kit,手动指定编译器路径、Qt版本路径、CMake路径、调试器路径……而Qt Creator UI里这些路径输入框,没有任何语法校验和自动补全。输错一个斜杠,Kit就变红,你得点开“Details”看日志才能发现是/opt/Qt/6.5.3/gcc_64/bin/qmake少了个/bin/。这不是配置,这是考古。
2.3 模块缺失与权限隔离,离线环境寸步难行
apt install qt5-default只装最精简的Qt5核心模块(qtbase、qtdeclarative、qttools),但工业项目常用模块如qtserialport、qtwebsockets、qtsvg、qtcharts全都不在默认包里。你得额外执行:
sudo apt install qt5serialport-dev qt5websockets5-dev libqt5svg5-dev qt5charts5-dev但问题来了:这些-dev包,只提供头文件和.so链接文件,不提供运行时.so库。如果你的目标设备是嵌入式ARM板,需要交叉编译,这些x86_64的-dev包毫无用处。而Qt官方离线安装包(Offline Installers)是一体打包的:它包含Qt库二进制、头文件、工具(qmake、moc、uic)、示例、文档、甚至Qt Creator IDE本身。你下载一个qt-unified-linux-x64-4.8.0-online.run,运行后,它会引导你选择安装Qt5.15.2 + Qt6.5.3 + Qt Creator 13.0.2 + 所有模块 + 所有平台SDK(Desktop、Android、WebAssembly),全部存放在/opt/Qt/下,路径干净、版本可控、模块齐全。
提示:Qt官方离线安装器本质是个自解压脚本,它不依赖系统
apt源,所有依赖(包括libxcb、libgl1等)都打包在安装包内。你在无网络的生产服务器、航空电子设备调试舱、核电站DCS工程师笔记本上,只要Linux内核≥3.10,glibc≥2.17,就能跑通。这才是真正的“离线安装”。
所以我的方案很明确:弃用apt install qtcreator,改用Qt官方统一安装器(Unified Installer)。它把Qt库、Qt Creator、所有工具、所有模块,全部装进/opt/Qt/这个单一前缀下,版本清晰、路径固定、模块可选、升级可控。后续所有Kit配置、环境变量设置、CMakeLists.txt编写,都围绕这个路径展开,逻辑干净,没有歧义。
3. 实操全流程:从零开始搭建可工作的Qt开发环境
现在我们进入实操环节。以下步骤,我已在Ubuntu 22.04 Desktop(物理机)、Ubuntu 22.04 on WSL2(Windows 11)、Ubuntu 20.04 on VMware Workstation(Windows 10)三套环境中完整验证。所有命令均可直接复制粘贴,但请务必理解每一步的目的。
3.1 基础依赖检查与系统级工具安装
Qt Creator本身不编译代码,它调用外部工具链。因此第一步不是装Qt Creator,而是确保Ubuntu系统具备最基本的构建能力。打开终端,执行:
# 更新源并升级系统(可选,但推荐) sudo apt update && sudo apt upgrade -y # 安装基础构建工具:gcc/g++/make/gdb sudo apt install -y build-essential gdb # 安装Qt Creator运行必需的图形库(Ubuntu 22.04+ 默认已装,但保险起见) sudo apt install -y libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libfontconfig1 libfreetype6 # 安装CMake(Qt Creator 12+ 强依赖CMake 3.16+,Ubuntu 22.04源里是3.22,够用) sudo apt install -y cmake # 验证gcc/g++版本(Qt6.5要求gcc≥9.3,Qt5.15要求gcc≥5.3) gcc --version g++ --version关键点解析:
build-essential是Debian/Ubuntu的元包,它会自动安装gcc、g++、make、dpkg-dev。注意:它不安装gdb,所以必须单独apt install gdb。没有gdb,Qt Creator的调试功能直接废掉。libxcb-*系列库是Qt5/6在X11下渲染GUI的底层依赖。如果你跳过这步,在某些最小化安装的Ubuntu Server上,Qt Creator启动后主窗口空白,或者Designer拖控件直接崩溃。cmake版本必须≥3.16。Qt Creator 12.0起,对CMakeLists.txt的解析完全重构,旧版CMake(如Ubuntu 18.04源里的3.10)会导致“CMake Error at CMakeLists.txt:1 (project): Unknown CMake command 'project'.”这类诡异错误——其实不是命令不认识,而是CMake语法解析器版本不匹配。
实操心得:我曾在一个客户现场,Ubuntu 20.04 Server最小化安装,
apt install qtcreator后启动白屏。查日志发现libxcb-xinerama.so.0: cannot open shared object file。装上libxcb-xinerama0立刻解决。这种库名和错误日志完全不匹配的问题,是Linux桌面应用的经典坑,必须提前堵住。
3.2 下载并运行Qt官方统一安装器
访问Qt官网下载页面(https://www.qt.io/download),选择“Open Source” -> “Download the Qt Online Installer for Linux”。当前最新版是qt-unified-linux-x64-4.8.0-online.run(2024年7月)。不要下载“Offline”版,虽然名字叫“Offline”,但它体积巨大(>4GB),且只包含一个Qt版本。在线安装器体积小(<100MB),安装时按需下载,更灵活。
下载完成后,赋予执行权限并运行:
# 进入下载目录(假设在~/Downloads) cd ~/Downloads chmod +x qt-unified-linux-x64-4.8.0-online.run ./qt-unified-linux-x64-4.8.0-online.run安装向导启动后,按以下顺序操作:
- 登录或跳过登录:开源用户无需Qt账户,点击“Skip”即可;
- 选择安装路径:强烈建议设为
/opt/Qt。这是Qt官方推荐路径,所有文档、社区教程、Stack Overflow答案都默认此路径。不要用~/Qt或/usr/local/Qt,前者权限混乱,后者与系统包管理冲突; - 选择组件(最关键一步):
- 勾选Qt > Qt 5.15.2(LTS长期支持版,兼容性最好);
- 勾选Qt > Qt 6.5.3(最新稳定版,C++20支持完善);
- 勾选Qt > Tools > Qt Creator 13.0.2(配套IDE);
- 勾选Qt > Tools > Qt Design Studio 4.6(可选,UI原型设计);
- 在“Qt 5.15.2”子项下,勾选Desktop GCC 64-bit(必须);
- 在“Qt 5.15.2”子项下,勾选Additional Libraries > Qt Serial Port、Qt WebSockets、Qt SVG、Qt Charts(按需,工业项目必备);
- 在“Qt 6.5.3”子项下,同样勾选Desktop GCC 64-bit和所需附加模块;
- 开始安装:点击“Install”,等待下载与解压(约15-30分钟,取决于网速)。
安装完成后,/opt/Qt/目录结构如下:
/opt/Qt/ ├── 5.15.2/ # Qt5.15.2 安装根目录 │ └── gcc_64/ # Desktop GCC 64-bit 版本 │ ├── bin/ # qmake, moc, uic, rcc 等工具 │ ├── include/ # 头文件 │ ├── lib/ # .so 库文件 │ └── mkspecs/ # 编译器配置模板 ├── 6.5.3/ # Qt6.5.3 安装根目录 │ └── gcc_64/ ├── Tools/ │ └── QtCreator/ # Qt Creator 13.0.2 可执行文件在此 └── Docs/ # Qt文档(可选安装)注意:安装器会自动创建
/opt/Qt/Tools/QtCreator/bin/qtcreator这个可执行文件。它不依赖系统PATH,你可以直接/opt/Qt/Tools/QtCreator/bin/qtcreator启动。但为了方便,我们下一步要配置环境变量。
3.3 配置全局环境变量与Kit初始化
Qt Creator需要知道两件事:编译器在哪、Qt库在哪。我们通过环境变量和Qt Creator内部配置双重保障。
3.3.1 设置系统级环境变量
编辑/etc/environment(影响所有用户)或~/.profile(仅当前用户):
# 推荐编辑 ~/.profile(避免影响其他用户) nano ~/.profile在文件末尾添加:
# Qt 环境变量 export QTDIR=/opt/Qt export PATH="/opt/Qt/Tools/QtCreator/bin:$PATH" export PATH="/opt/Qt/5.15.2/gcc_64/bin:$PATH" # 让qmake可用 export PATH="/opt/Qt/6.5.3/gcc_64/bin:$PATH" # 让qmake可用保存后,执行source ~/.profile使生效。验证:
which qtcreator # 应输出 /opt/Qt/Tools/QtCreator/bin/qtcreator qmake -v # 应输出 QMake version 3.1 或 4.0(对应Qt5/Qt6)3.3.2 启动Qt Creator并配置Kit
现在启动Qt Creator:
qtcreator首次启动会引导你选择默认编译器和Qt版本。但我们手动配置更可靠:
- 进入Tools > Options > Kits(或
Ctrl+,); - 在“Compilers”标签页,确认已自动检测到:
- GCC (x86 64bit),路径为
/usr/bin/gcc(对应build-essential安装的gcc); - 如果你装了多个gcc(如gcc-11、gcc-12),可点击“Add”手动添加,路径填
/usr/bin/gcc-12;
- GCC (x86 64bit),路径为
- 在“Qt Versions”标签页,点击“Add”,浏览到:
- Qt 5.15.2:
/opt/Qt/5.15.2/gcc_64/bin/qmake - Qt 6.5.3:
/opt/Qt/6.5.3/gcc_64/bin/qmake - 点击“Apply”,Qt Creator会自动读取版本号和模块列表;
- Qt 5.15.2:
- 在“Kits”标签页,你会看到默认的“Desktop Qt 5.15.2 GCC 64bit”和“Desktop Qt 6.5.3 GCC 64bit”两个Kit。点击任一Kit,右侧“Qt version”下拉菜单应能选中对应版本,“Compiler”应能选中GCC x86 64bit;
- 关键验证:点击Kit右侧的“Details”按钮,展开查看:
- “Qt version” 显示路径正确;
- “Compiler” 显示gcc路径和版本正确;
- “Debugger” 显示
/usr/bin/gdb(如果没装gdb,这里会报错,需回退装gdb); - “CMake generator” 默认是“Unix Makefiles”,可接受;
- 底部状态栏显示“Kit is valid”(绿色对勾)。
实操心得:Kit配置里最容易出错的是“Debugger”路径。Qt Creator 13.0默认尝试用
/usr/bin/gdb-multiarch(用于交叉调试),但在纯x86_64桌面环境,它不存在。此时需手动改为/usr/bin/gdb。否则点击“Debug”按钮,会弹窗:“No debugger set up for this kit.”——它不告诉你缺什么,只说“没配好”。
3.4 创建第一个项目并验证构建流程
现在我们用一个极简项目验证整个链路是否打通。
- File > New Project > Application > Qt Widgets Application;
- 项目名称填
helloqt,路径选~/projects; - 在“Kit Selection”页,务必勾选你刚配置好的Kit(如“Desktop Qt 5.15.2 GCC 64bit”),取消勾选其他Kit;
- 点击“Create”,等待项目生成;
- 主窗口左侧“Projects”模式下,确认:
- “Build & Run”页中,“Kit”下拉菜单显示你选的Kit;
- “Build directory”显示类似
/home/yourname/projects/build-helloqt-Desktop_Qt_5_15_2_GCC_64bit-Debug; - “Build steps”里,“qmake”步骤参数为空(默认即可);
- 点击左下角绿色三角形“Run”按钮。
预期结果:
- 终端输出编译日志,最后显示
Starting /home/yourname/projects/build-helloqt-.../helloqt...; - 一个空白窗口弹出,标题为“HelloQt”;
- 窗口右上角有标准关闭按钮,可正常关闭。
如果失败,常见原因及定位方法:
- 构建失败(红色错误日志):看日志第一行,通常是
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt5/bin/qmake'——说明Kit里Qt version路径错了,它还在找系统源的Qt,而不是/opt/Qt/5.15.2/gcc_64/bin/qmake; - 运行失败(窗口闪退):终端最后一行可能是
error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file——说明运行时找不到Qt库,需执行export LD_LIBRARY_PATH=/opt/Qt/5.15.2/gcc_64/lib:$LD_LIBRARY_PATH,或在Qt Creator的“Run Settings”里添加环境变量; - 窗口空白/卡死:在“Projects” > “Run”页,勾选“Run in terminal”,再运行,看终端是否有
Could not initialize OpenGL之类错误——这是显卡驱动问题,需装mesa-utils或切换到software opengl(export LIBGL_ALWAYS_SOFTWARE=1)。
4. 常见问题与排查技巧实录:那些文档里不会写的坑
以下是我在过去三年,帮超过200位开发者(含高校学生、嵌入式工程师、自动化产线程序员)部署Qt环境时,高频遇到的12个真实问题。每个问题都附带现象、根因、一键修复命令、预防措施。
4.1 Kit显示“Valid”但构建时报“qmake: command not found”
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
| Kit详情页显示绿色对勾,但点击“Build”时弹窗:“Process error: qmake: command not found” | Qt Creator的Kit配置里,“Qt version”路径指向qmake,但该路径不在系统PATH中,且Qt Creator未将其加入内部PATH | sudo ln -sf /opt/Qt/5.15.2/gcc_64/bin/qmake /usr/local/bin/qmakesudo ln -sf /opt/Qt/6.5.3/gcc_64/bin/qmake /usr/local/bin/qmake6 | 在~/.profile中添加export PATH="/opt/Qt/5.15.2/gcc_64/bin:/opt/Qt/6.5.3/gcc_64/bin:$PATH",并source ~/.profile |
4.2 新建Qt6项目,.pro文件报错“Project ERROR: Unknown module(s) in QT: core widgets gui”
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
创建Qt6项目后,.pro文件首行QT += core widgets gui被标红,构建失败 | Qt6彻底废弃.pro文件,改用CMakeLists.txt。Qt Creator 13.0虽支持.pro向导,但实际构建时强制走CMake | 删除项目,重新创建时选择Application > Qt Quick Application(Qt6原生)或Library > C++ Library,使用CMake模板 | 记住:Qt6 = CMake,Qt5 = qmake。混用必报错。 |
4.3 Ubuntu 20.04上Qt Creator启动后菜单栏消失,只剩中央编辑区
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
| Qt Creator窗口无菜单栏(File/Edit/Tools等),工具栏按钮也缺失 | Ubuntu 20.04的GTK主题与Qt Creator的Qt5样式冲突,导致UI元素渲染失败 | export QT_QPA_PLATFORMTHEME=qt5ctqtcreator或安装qt5ct工具: sudo apt install qt5ct,运行qt5ct设置样式为kvantum或adwaita | 在~/.profile中永久添加export QT_QPA_PLATFORMTHEME=qt5ct |
4.4 WSL2环境下,Qt Designer拖拽控件卡死,鼠标变成沙漏
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
| 在WSL2的Ubuntu中运行Qt Creator,打开Designer,拖一个QPushButton,界面冻结10秒以上 | WSL2的X Server(如VcXsrv)默认禁用OpenGL加速,Qt Designer的实时渲染依赖OpenGL | 启动VcXsrv时,勾选"Disable access control"和"Native opengl"; 在WSL2中执行: export LIBGL_ALWAYS_INDIRECT=1 | 使用Windows原生Qt Creator(Windows版),通过WSL2的\\wsl$\路径访问Linux项目文件,而非在WSL2中运行GUI应用。 |
4.5apt install qt5serialport-dev后,项目仍报“unknown module serialport”
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
.pro文件中QT += serialport,构建时报错,但`apt list --installed | grep serialport`显示已安装 | qt5serialport-dev只提供头文件和链接库,不提供运行时libQt5SerialPort.so.5。Qt Creator构建时链接成功,但运行时动态加载失败 | sudo apt install qt5serialport5# 安装运行时库或改用Qt官方安装器,它自动包含所有模块的运行时库 |
4.6 VMware虚拟机中,Qt Creator的文本编辑器字体发虚,不像macOS那样锐利
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
字体设置为Fira Code或JetBrains Mono,但文字边缘有灰边,不清晰 | VMware Tools未启用3D加速,Qt Creator的字体渲染使用CPU软渲染,抗锯齿效果差 | 在VMware中,虚拟机设置 > 显示 > 勾选“加速3D图形”; 重启虚拟机; 在Qt Creator中,Tools > Options > Environment > Interface > Font,选择 Fira Code SemiBold | 启用3D加速后,Qt Creator自动切换到GPU加速文本渲染,效果媲美macOS。 |
4.7gcc --version显示12.3,但Qt Creator Kit里显示gcc 11.4
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
终端gcc --version是12.3,但Qt Creator的Kit详情页显示“GCC (x86 64bit) 11.4.0” | Qt Creator的编译器自动检测,读取的是/usr/bin/gcc的软链接目标,而/usr/bin/gcc可能仍指向gcc-11 | sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100sudo update-alternatives --config gcc# 选择gcc-12 | 永远用update-alternatives管理多版本gcc,而非直接ln -sf,避免破坏系统包管理。 |
4.8 离线环境安装Qt Creator,提示“Failed to connect to Qt Account server”
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
在无网络的服务器上运行qt-unified-linux-x64-*.run,卡在登录页,无法跳过 | 在线安装器默认尝试连接Qt服务器验证许可证,即使选择“Skip”,也会因DNS超时阻塞 | 断网状态下,先运行:./qt-unified-linux-x64-*.run --offline或在有网机器上下载离线包(官网提供 qt-unified-linux-x64-offline-*.run) | 离线部署前,务必下载官网标注的“Offline Installer”,体积大但100%离线可用。 |
4.9 构建Qt6项目时,CMake报错“CMake Error at CMakeLists.txt:1 (project): VERSION keyword not followed by a value”
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
Qt Creator 13.0创建的Qt6 CMake项目,CMakeLists.txt第1行project(untitled VERSION 0.1 LANGUAGES CXX),但CMake 3.16报错 | Qt6.5.3要求CMake ≥ 3.21,而Ubuntu 22.04源里CMake是3.22,但某些旧版Ubuntu(如20.04)源里CMake是3.16,不支持VERSION关键字 | sudo apt install cmake# 升级到3.22(Ubuntu 22.04)或手动编译CMake 3.25: wget https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-linux-x86_64.tar.gztar -xzf cmake-3.25.2-linux-x86_64.tar.gzsudo cp -r cmake-3.25.2-linux-x86_64/* /usr/local/ | Qt6项目必须用CMake ≥ 3.21。部署前先cmake --version验证。 |
4.10 Qt Creator中中文注释显示为方块,乱码
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
.cpp文件里写// 测试中文,编辑器显示为□□□ | Qt Creator默认字体不支持CJK字符集,且系统缺少中文字体 | sudo apt install fonts-wqy-zenhei fonts-wqy-microheiQt Creator > Tools > Options > Text Editor > Font > 选择 WenQuanYi Zen Hei | 在Qt Creator字体设置中,首选字体填"WenQuanYi Zen Hei, DejaVu Sans, Noto Sans CJK SC",逗号分隔,提供fallback。 |
4.11apt install qtcreator卸载后,/usr/lib/x86_64-linux-gnu/qt5被删,导致其他Qt程序崩溃
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
卸载apt版Qt Creator后,系统自带的qt5ct、qterminal等Qt程序启动报错 | apt remove qtcreator触发依赖关系,自动卸载qt5-default,进而删除/usr/lib/x86_64-linux-gnu/qt5 | sudo apt install --reinstall qt5-default qtbase5-dev(恢复系统Qt) | 永远用Qt官方安装器,它完全独立于apt包管理系统,卸载只需rm -rf /opt/Qt,零副作用。 |
4.12 虚拟机里Qt Creator Designer无法拖拽控件,鼠标左键按下无响应
| 现象 | 根因 | 修复命令 | 预防 |
|---|---|---|---|
| VMware中,Designer画布上鼠标左键拖控件,光标变箭头但无任何反馈 | VMware Tools的“增强型键盘”和“鼠标集成”未启用,导致Qt的QWidget事件捕获失败 | VMware菜单 > 虚拟机 > 设置 > 选项 > 客户机隔离 > 勾选“启用拖放”和“启用复制和粘贴”; 重启虚拟机 | 启用VMware Tools全部集成特性,这是Linux GUI应用在虚拟机中正常交互的前提。 |
5. 进阶配置:让Qt Creator真正成为生产力工具
装好只是起点,调优才是日常。以下是我每天都在用的5个配置技巧,它们不改变功能,但极大提升编码效率和体验一致性。
5.1 统一字体与缩放:获得接近macOS的视觉体验
Ubuntu默认字体是Ubuntu,在Qt Creator里显示偏细、间距紧。要达到macOS的SF Pro Display那种清晰度和呼吸感,需三步:
- 安装高质量等宽字体:
# Fira Code(推荐,带编程连字) wget https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip unzip Fira_Code_v6.2.zip -d ~/fonts/ fc-cache -fv - Qt Creator字体设置:
- Tools > Options > Text Editor > Font > Family:
Fira Code, Size:13 - Tools > Options > Environment > Interface > Font > Family:
Fira Code, Size:12
- Tools > Options > Text Editor > Font > Family:
- **全局