NotePublic/Software/Development/Environment/Qt/Qt_使用技巧.md

4.0 KiB
Raw Blame History

Qt 使用技巧

1. -platform

在直行 Qt UI 程序时通过该参数可以直行所使用的平台和 UI 系统,如

./Example -platform wayland-egl

2. QT_DEBUG_PLUGINS

在 Shell 中

export QT_DEBUG_PLUGINS=1

可在执行程序时打印 PLUGINS 信息,以确认某些插件是否被正确加载。

3. Linux 下 Online Install

# 安装依赖软件
sudo apt install libxcb-xinerama0
# 安装下列软件包否则出现qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.
sudo apt install libxcb-icccm4
# 如果编译测试项目提示Failed to find "GL/gl.h" in "/usr/include/libdrm".
sudo apt install libgl1-mesa-dev

# 下载在线安装工具Qt 官网变更可能导致下列连接失效,此时请到 https://download.qt.io 自行获取下载连接。
wget https://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run

# 执行在线安装,并指定使用清华镜像进行加速。
chmod +x ./qt-unified-linux-x64-online.run
sudo ./qt-unified-linux-x64-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

4. Online Install/MaintenanceTool 加速

# For Windows
qt-unified-windows-x64-online.exe --mirror https://mirrors.tuna.tsinghua.edu.cn/qt
MaintenanceTool.exe --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

# For Linux
sudo ./qt-unified-linux-x64-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt
sudo ./MaintenanceTool --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

5. MaintenanceTool 添加/删除组件时只显示已安装的组件 或 无法正常升级组件

原因是 MaintenanceTool 本地缓存没有更新,启动 MaintenanceTool 后点击右下角的“设置”按钮,点击“本地缓存->清空缓存”。再按正常流程添加/删除/升级 组件即可。

6. Linux Online Install 没有图标

需要手动创建 Desktop Entry

sudo cp /opt/Qt/Tools/QtDesignStudio/share/icons/hicolor/* /usr/share/icons/hicolor
cd /usr/share/icons/hicolor
sudo gtk-update-icon-cache -f -t ./

sudo touch org.qt-project.qtcreator.desktop
sudo touch org.qt-project.qtdesignstudio.desktop
sudo touch org.qt-project.maintenancetool.desktop

sudo 编辑三个 .desktop 文件,内容如下:

[Desktop Entry]
Type=Application
Exec=/opt/Qt/Tools/QtCreator/bin/qtcreator %F
Name=Qt Creator
GenericName=C++ IDE for developing Qt applications
X-KDE-StartupNotify=true
Icon=QtProject-qtcreator
StartupWMClass=qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType= text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;
[Desktop Entry]
Type=Application
Exec=/opt/Qt/Tools/QtDesignStudio/bin/qtdesignstudio
Name=Qt Design Studio
GenericName=Qt Design Studio
X-KDE-StartupNotify=true
Icon=QtProject-qtcreator
StartupWMClass=qtdesignstudio
Terminal=false
Categories=Development;IDE;Qt;
[Desktop Entry]
Type=Application
Exec=/opt/Qt/MaintenanceTool --mirror https://mirrors.tuna.tsinghua.edu.cn/qt
Name=Qt Maintenance Tool
GenericName=Qt Maintenance Tool
X-KDE-StartupNotify=true
Icon=QtProject-qtcreator
StartupWMClass=MaintenanceTool
Terminal=false
Categories=Development;Qt;

7. Qt Creator 代码检查

Qt Creator 通过 clangd 支持额外的语法补全、错误检测、跳转、格式化等等功能,该功能的开关在:编辑->首选项->C++->Clangd 使能 Use clangd。