123 lines
4.0 KiB
Markdown
123 lines
4.0 KiB
Markdown
# Qt 使用技巧
|
||
|
||
- [Qt 使用技巧](#qt-使用技巧)
|
||
- [1. -platform](#1--platform)
|
||
- [2. QT\_DEBUG\_PLUGINS](#2-qt_debug_plugins)
|
||
- [3. Linux 下 Online Install](#3-linux-下-online-install)
|
||
- [4. Online Install/MaintenanceTool 加速](#4-online-installmaintenancetool-加速)
|
||
- [5. MaintenanceTool 添加/删除组件时只显示已安装的组件 或 无法正常升级组件](#5-maintenancetool-添加删除组件时只显示已安装的组件-或-无法正常升级组件)
|
||
- [6. Linux Online Install 没有图标](#6-linux-online-install-没有图标)
|
||
- [7. Qt Creator 代码检查](#7-qt-creator-代码检查)
|
||
|
||
## 1. -platform
|
||
|
||
在直行 Qt UI 程序时通过该参数可以直行所使用的平台和 UI 系统,如
|
||
|
||
```bash
|
||
./Example -platform wayland-egl
|
||
```
|
||
|
||
## 2. QT_DEBUG_PLUGINS
|
||
|
||
在 Shell 中
|
||
|
||
```bash
|
||
export QT_DEBUG_PLUGINS=1
|
||
```
|
||
|
||
可在执行程序时打印 PLUGINS 信息,以确认某些插件是否被正确加载。
|
||
|
||
## 3. Linux 下 Online Install
|
||
|
||
```bash
|
||
# 安装依赖软件
|
||
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 加速
|
||
|
||
```bash
|
||
# 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:
|
||
|
||
```bash
|
||
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 文件,内容如下:
|
||
|
||
```ini
|
||
[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;
|
||
```
|
||
|
||
```ini
|
||
[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;
|
||
```
|
||
|
||
```ini
|
||
[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。
|