当前位置: 首页 > article >正文

QT(5.15)之QGC(4.4)安装教程

一、编译

下载需求:需要QT版本为5.15,QGC版本为4.4,必须使用MSVC编译器,不能用Mingw编译器。

1. 下载QGroundControl源码
QGroundControl 的源代码https://github.com/mavlink/qgroundcontrol。

官网:Getting Started with Source and Builds | QGC Guide (master)

当前示例release版本为4.4稳定版
推荐使用git下载源码。直接下载zip 文件不包含相应的子模块源代码。
git如果下载过程中失败,需要开梯子。。。。

①首先,克隆存储源码库,包括子模块:

git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git -b Stable_V4.4

② 然后进入源码文件夹,使用下面git命令更新子模块

.git文件夹所在的路径
git submodule update --recursive 

QGroundControl地面站 使用 Qt 作为其跨平台支持库。
每日构建指定Qt版本为6.6.3,稳定版为5.15.2。

2.下载完成使用Qt打开qgroundcontrol.pro文件进行编译,如果编译中报错:

需要修改\mavlink\qgroundcontrol\QGCCommon.pri文件。

将        QMAKE_CXXFLAGS_WARN_ON += /WX /W3 \
改完        QMAKE_CXXFLAGS_WARN_ON += -/WX /W3 \

然后在编译,此时编译会报错,然后在改成原来的QMAKE_CXXFLAGS_WARN_ON += /WX /W3 \继续进行编译即可。。。。或者不改继续编译也可以成功。。。编译成功结果见下图。


二、二次开发

QGC的主界面好像是:C:\Users\lxj\Desktop\qground_control\mavlink\qgroundcontrol\src\ui\MainRootWindow.qml

1.修改标题名称

我这里为了方便就直接复制本地环境的路径了,大家可以参考自己的路径,具体路径为以下加粗的目录。

C:\Users\lxj\Desktop\qground_control\mavlink\qgroundcontrol\src\QGCApplication.cc文件夹中。修改280行。

需要加一个宏定义:

#define qtstr(s)  QString::fromLocal8Bit(s)

2.修改图标

添加图片资源
新建一个文件夹img_add,放入需要添加的图片资源

C:\Users\lxj\Desktop\qground_control\mavlink\qgroundcontrol\qgcimages.qrc在这个文件中导入自己要添加的图标。 

然后就可以在程序中使用添加的图片了,注意程序中填写的是图片的别名
修改主工具栏图标:
修改MainToolBar.qml,在下图位置修改图片资源的路径为自己添加的资源(以软件设置按钮为例):

C:\Users\lxj\Desktop\qground_control\mavlink\qgroundcontrol\src\ui\toolbar\MainToolBar.qml

在下图位置修改图片资源的路径为自己添加的资源(以软件设置按钮为例):

icon.source:            "/qmlimages/软件图标.png"

结果如下: 

修改软件设置图标:(似乎没改变,后续再看)

C:\Users\lxj\Desktop\qground_control\mavlink\qgroundcontrol\src\ui\MainRootWindow.qml

需要修改两个地方:

showTool(qsTr("Application Settings"), "AppSettings.qml", "/qmlimages/软件图标.png") 

imageResource: "/qmlimages/软件图标.png"

注意这个文件中有多个SubMenuButton注意看id是否正确。。。 

 3.汉化

软件路径:D:\C++\Qt5.15.2\5.15.2\msvc2019_64\bin\linguist.exe

打开后,在左侧会显示总个数和已汉化的个数,点击没有全部汉化的Context,在右侧对有问号的进行汉化,在简体中文下面的输入框写入对应的汉化结果,然后点击上方的勾号,勾完后对应的问号就变成了勾号,然后点击上方的保存按钮。


http://www.kler.cn/a/559793.html

相关文章:

  • 数据结构与算法学习笔记----树形DP
  • 当前就业形势下C++方向后端开发学习指南
  • JAVA EE初阶 JVM
  • centos服务器巡检脚本
  • AWQ和GPTQ量化的区别
  • 接口测试基础 --- 什么是接口测试及其测试流程?
  • 利用Ai对生成的测试用例进行用例评审
  • Web自动化之Selenium实战案例1:论文pdf自动下载
  • 网络安全入门 | TCP/IP协议栈核心协议详解(附攻防案例)
  • 【redis】redis内存管理,过期策略与淘汰策略
  • 嵌入式硬件篇---常用的汇编语言指令
  • C#初级教程(7)——初级期末检测
  • 【大模型LLM】DeepSeek LLM Scaling Open-Source Language Models with Longtermism
  • Docker(Nginx)部署Vue
  • 代码随想录算法训练营第四十四天| 动态规划07
  • 【深度学习】Adam和AdamW优化器有什么区别,以及为什么Adam会被自适应学习率影响
  • Netstat(Network Statistics)网络工具介绍
  • 《游戏人工智能编程 案例精粹》阅读心得
  • 【AI】面试高频考点-数据标注规则
  • blackbox.ai 一站式AI代理 畅享顶级模型