QGC中主界面

来源:互联网 发布:测温软件有悬浮 编辑:程序博客网 时间:2024/05/18 02:20

MainWindowInner.qml

//--Main UIMainToolBar{    id:toolBar;    height:ScreenTools.toolbarHeight    anchors.left: parent.left    anchors.right: parent.right    ...    ...    opacity:planToolBar.visible?0:1    z:QGroundControl.zOrderTopMost    ...    ...    Component.onCompleted:ScreenTools.available=parent.height-toolBar.height;    onShowSettingsView:    onShowSetupView:   mainWindow.showSetupView();    onShowShowPlanView:   mainWindow.showPlanView();    //MainToolBar组件在MainToolBar.qml中    MainToolBar{        }}

默认是flyButton被选中

//MainToolBar组件在MainToolBar.qml中
//定义如下

Rectangle{    id:toolBar    color:qgcPal.globalTheme===QGCPalette.Light?Qt.rgba(1,1,1,0.8):                    Qt.rgba(0,0,0,0.75)    QGCPalette{id:qgcPal;colorGroupEnabled:true}    property var _activeVehicle:        QGroundControl.multiVehicleManager.activeVehicle;    signal showSettingsView;    signal showSetupView;    signal showPlanView;    signal showFlyView;    signal showAnalyzeView;    signal armVehicle    signal disarmVehicle    function checkSettingsButton(){        settingsButton.checked=true;    }    function checkSetupButton(){        setupButton.checked=true;    }    Componnet.onCompleted{        flyButton.checked=true    }    }}

最小化窗口的时候会输出QQuickWidget:Attempted to render scene with no context

在MainWindowInner.qml中引入了FlightDisplayView组件
FlightDisplayView.qml

在Fly主界面,最左边的面板
这里写图片描述

FlightDisplayViewMap.qml中

onUserPannedChanged:{    if(userPanned){        console.log("user panned")        userPanned=false;        _disableVehicleTracking=true        panRecenterTimer.restart();    }}

FlightDisplayViewMap.qml
中的object

在QGroundControlQmlGlobal.h中

qreal zOrderTopMost(){return 1000;} qreal zOrderTopWidgets(){return 100;} qreal zOrderMapItems(){return 50;} qreal zOrderVehicles(){return 49;} qreal zOrderTrajectoryLines(){return 48;} qreal zOrderWaypointLines(){return 47;} 

5个页面,主要是受MainWindowInner.qml的_viewList属性控制

property var _viewList:[    settingsViewLoader,    setupViewLoader,    planViewLoader,    flightView,    analyzeViewLoader]

第一个页面的Waitting for Vehicle Connection
在MainToolBarIndicators.qml中

//MainToolBarIndicators.qmlItem{}

默认第4个按钮是选中的,展示地图界面原因:
1.第4个选中
//MainWindowInner.qml中引入了MainToolBar组件
//在MainToolBar.qml中

Rectangle{    id:toolBar;    ...    ...    signal showSettingsView    signal showSetupView    ...    Component.onCompleted:{        flyButton.checked=true    }}

显示地图
//在MainWindow.UI中:

FlightDisplayView{    id:flightView    anchors.fill:parent    visible:true    Loader{        id:rootVideoLoader        anchors.centerIn:parent    }}

在FlightDisplayView.qml中

//FlightDisplayView.qmlproperty var _mainIsMap:QGroundControl.loadBoolGlobalSettings(_mainIsMapKey,true):truebool QGroundControlQmlGlobal::loadBoolGlobalSettings(const QString &key,bool defaultValue)
原创粉丝点击