QGC界面

主界面

文件位置:qrc:/qml/MainRootWindow.qml

组成部分

  • header: MainToolBar
  • content:FlyView 、PlanView、Drawer(用于显示Appsettings等三个界面,在showTool函数中visible属性被改变)
  • footer: LogReplayStatusBar
  • MainWindowSavedState
  • background: Item

界面切换

  • 函数showFlyView和showPlanView用于切换飞行视图和规划视图。这两个函数在MainRootWindow中定义。在FlyView和PlanView中被调用。
  • showAnalyzeTool,showSetupTool,showSettingsTool用于显示设置的三个界面。这三个函数调用的是showTool函数。

程序第一次运行弹出的对话框

  • 涉及到的对象QtObject{id: firstRunPromptManager}, 此对象核心是调用QGCCorePlugin::firstRunPromptResource函数来显示第一次运行时,单位选择对话框的。
    QGCCorePlugin是c++业务类,被注册到qml中是QGroundControl.corePlugin。

可以弹出的对话框

  • 1 全局简单消息对话框。
    函数 function showMessageDialog(dialogTitle, dialogText)---->最终调用的是3对话框函数。
    依赖的组建id:simpleMessageDialog

  • 2 全局复杂对话框
    函数 function showComponentDialog(component, title, charWidth, buttons)
    依赖的组建id:dialogDrawerComponent

  • 3 显示的对话框有四个白色尖角
    函数:function showPopupDialogFromComponent(component, properties)、function showPopupDialogFromSource(source, properties)
    依赖的组建id:popupDialogContainerComponent

  • 4 MessageDialog类型的对话框
    涉及的组建id:unsavedMissionCloseDialog、pendingParameterWritesCloseDialog、activeConnectionsCloseDialog

  • 5 显示工具选择对话框:用于选择“Vehicle setup”、“Analysis tool”、 “AppSettings”对话框。
    函数 function showToolSelectDialog()---------------->最终调用的是3对话框函数。
    依赖的组件id:toolSelectDialogComponent

  • 6 显示小车严重信息
    函数function showCriticalVehicleMessage(message)
    依赖的组件id:criticalVehicleMessagePopup

  • 7 显示指示信息
    函数function showIndicatorPopup(item, dropItem)
    依赖的组件:indicatorPopup

主界面顶部工具栏

  • 文件:MainToolBar.qml

布局

  • 整体布局分为上下两部分。下部分为进度条和分割线,进度条和分割线在同一位置。进度条有两个,大进度条和小进度条。大进度条在上传任务时会用到。
  • 上面部分又分为三个部分:左、中、右
  • 上左布局为水平布局(id:viewButtonRow),此部分会有渐变颜色填充。
    QGCToolBarButton-------QCG图标按钮
    MainStatusIndicator----飞行模式下显示的状态
    QGCButton--------------Disconnect文字提示
  • 上中部分是QGCFlickable(id:toolsFlickable),它会依据当前是飞行模式还是任务规划模式加载不同的控件
    “qrc:/toolbar/MainToolBarIndicators.qml” 此部分显示的内容是从c++部分获取的。
    “qrc:/qml/PlanToolBarIndicators.qml” 内部是个GridLayout
  • 上右是商标:Image。用户可以自定义

MainStatusIndicator

  • 此部分为上左。文件名MainStatusIndicator.qml。仅在飞行模式下才能显示。内部控件的布局方式是水平布局。顺序包含如下控件
  1. QGCLabel:text内容为Communication Lost、Ready To Fly、Not Ready、Disconnected、Armed、Flying、Landing。
    更新函数为:mainStatusText(),此函数不仅更新文字,还会更新MainToolBar的_mainStatusBGColor颜色(红绿黄)。
    当单机时会弹出传感器信息。
  2. QGCColoredImage:飞行模式图
  3. FlightModeMenu:飞行模式菜单
  4. QGCLabel:垂起机型相关的。当单击时显示vtolTransitionComponent。

FlightModeMenu

  • 此部分位于MainStatusIndicator中。对应的文件名为FlightModeMenu.qml.
  • 说明:飞行模式选择菜单。
  • 飞行模式有:手动(Manual)、自稳(Stabilized)、特技Acro、半自稳、高度、板外Offboard、定点Position、等待、任务、返航Return、跟随Follow Me、精准降落。
  • updateFlightModesMenu()函数会依据当前选择的飞机,更新飞行菜单选项。当点击菜单后,会设置当前的活动飞机的飞行模式。调用的是Vehicle的flightMode属性。

飞行界面

文件名:FlyView.qml

拥有的控件

  • FlyViewMap:地图
  • FlyViewVideo:视频
  • QGCPipOverlay:用于切换地图和视频的位置,并支持缩放,弹出等一些窗口操作
  • GuidedAltitudeSlider: 高度显示调,位于界面右侧
  • GuidedActionList:操作选择框,操作有启动任务,继续任务,改变高度、land abort。
  • FlyViewWidgetLayer:常规操作显示的控件集合。
  • FlyViewCustomLayer:用户自定义的涂层。

FlyViewWidgetLayer

飞行界面的一层的widget。它包含了一些小的部件。如标尺,左侧的按钮列表等。

  • FlyViewToolStrip---------------------:左上的按钮列表
  • MapScale-----------------------------: 左上地图尺寸指示,放大缩小按钮。
  • VehicleWarnings----------------------: 在界面中间提示飞机的一些警告:飞机未获得GPS定位和参数相关的错误。
  • FlyViewAirspaceIndicator-------------:使用了AirMap公司服务的才显示此界面。界面位于顶部的中间。
  • Loader-------------------------------: 加载虚拟摇杆
  • TelemetryValuesBar-------------------: 遥测数据显示调,位于底部的中间。
  • PhotoVideoControl--------------------: 视频控制面板
  • FlyViewInstrumentPanel---------------: 单个飞机的仪表盘
  • multiVehiclePanelSelector------------:单飞机/多飞机切换
  • FlyViewMissionCompleteDialog---------: 飞行完成时对话框

任务规划界面

文件名:PlanView.qml

内部部件

内容说明
FlightMap地图
ToolStrip左侧按钮
Rectangle.rightPanel右侧面板:
1 AirspaceControl
2 Rectangle :Mission Controls
3 QGCTabBar :任务、电子围栏、集结
4 Item.missionItemEditor : 任务编辑器
5 GeoFenceEditor : 电子围栏编辑器
6 RallyPointEditorHeader : 集结点编辑器
7 RallyPointItemEditor
TerrainStatus底侧创建任务时的高度显示
MapScale在TerrainStatus上的控制地图缩放的控件
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt QGC 4.2 是一个图形用户界面开发框架,用于创建功能丰富且可自定义的应用程序。要修改Qt QGC 4.2界面,你可以按照以下步骤进行: 1. 打开Qt QGC 4.2源代码。可以通过Git克隆Qt QGC 4.2的存储库,或者从官方网站上下载源代码。 2. 找到需要修改的界面文件。Qt QGC 4.2使用Qt Quick作为默认的用户界面技术,所以界面文件通常以.qml文件的形式存在。根据你想要修改的部分,找到对应的.qml文件。 3. 使用Qt Creator打开.qml文件。Qt Creator是Qt官方提供的一个集成开发环境,用于图形界面和应用程序的开发。 4. 在.qml文件中进行修改。根据你的需求,可以通过修改.qml文件来改变界面的布局、颜色、字体等。你可以修改元素的属性值、添加新的元素、删除不需要的元素等。 5. 保存修改并重新编译应用程序。在完成界面修改后,保存.qml文件并重新编译应用程序。使用Qt Creator的构建功能可以方便地进行编译和构建应用程序。 6. 运行应用程序并测试修改。启动应用程序并测试修改后的界面。确保修改的界面符合预期,并且没有引入任何问题或错误。 总结,要修改Qt QGC 4.2界面,你需要找到.qml文件并使用Qt Creator进行修改。通过修改.qml文件中的属性和元素,可以改变界面的外观和行为。完成修改后,重新编译和运行应用程序,以确保修改的界面能够正常工作。希望这个回答对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值