QGC的工具栏添加一个自定义Button

1.工具栏4个button在文件MainToolBar.qml文件中  进行的设计和信号槽的连接

   4个按钮分别是application setting  、Vehicle Setup 、Plan 、 Fly 、Analyze  

2.添加一个按钮的步骤  

   a.仿照AnalyzeButton,在其代码块下并列填写,这里要注意将teddy.svg图标文件添加到qgcresources.qrc资源文件

      QGCToolBarButton {
                id:                 myButton
                anchors.top:        parent.top
                anchors.bottom:     parent.bottom
                exclusiveGroup:     mainActionGroup
                source:             "/qml/my_image/src/ui/toolbar/Images/teddy.svg"    
                visible:               true
                onClicked:          toolBar.showMyView()      //button按下的槽中发送showMyView信号
            }

        在qrc文件中添加teddy.svg

   

    b.仿照前面4个按钮添加信号  signal showMyView

     

         快捷键ctrl+shift+f  在qgc工程范围内搜索showAnalyzeView信号发现在MainWindowInner.qml中进行连接

      

     onShowAnalyzeView:      mainWindow.showAnalyzeView()  //猜测这里是进行信号与槽的连接

     固添加     onShwoMyView : mainWindow.showMyView()

     c.实现mainWindow.showMyView()函数,仿照showAnalyzeView()函数

        function showMyView() {
        mainWindow.enableToolbar()
        rootLoader.sourceComponent = null
        if(currentPopUp) {
            currentPopUp.close()
        }
        ScreenTools.availableHeight = 0
        if (myViewLoader.source  != _myViewSource) {
            myViewLoader.source  = _myViewSource
        }
        hideAllViews()
        myViewLoader.visible = true
        toolBar.checkMyButton()
    }

    由上面的函数可以知道需要定义_myViewSource  和 myViewLoader和 checkMyButton()函数

d.编写qml文件并添加到qgroundcontrol.qrc下面的qml/src/ui/MyView.qml

e.编译运行:问题是没有显示qml文件中的矩形和文本目前尚未找到原因

f.解决问题

后来经过多次尝试发现未填写

经人提示更改qml文件,删掉import qgroundcontrol相关内容

 

再次编译 运行   

发现布局语句不可用

有时切到自定义butto再切回原来的button不能切换

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值