QGC中主界面

MainWindowInner.qml

//--Main UI
MainToolBar{
    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.qml
Item{



}

默认第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.qml
property var _mainIsMap:QGroundControl.loadBoolGlobalSettings(_mainIsMapKey,true):true

bool QGroundControlQmlGlobal::loadBoolGlobalSettings(const QString &key,bool defaultValue)



  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值