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不能切换

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据引用\[1\]中的描述,当使用Qt 5.9.9版本运行QGC时,会出现错误提示需要使用5.11版本以上才能正常运行。因此,你尝试了使用Qt 5.12版本,但在Ubuntu中无法卸载5.9版本的Qt。为了解决这个问题,你将QGC的3.4版本拷贝到配置好的Qt中,然后就可以成功运行了。 另外,根据引用\[2\]和引用\[3\]的描述,官方只在Qt 5.12.6版本下进行了完全的测试,其他版本不保证不会出现问题。如果你需要在Windows系统下编译生成QGC软件,还需要安装VS2017作为Qt的编译器。而在Android开发环境搭建方面,需要安装JDK、Java SE 8u281、Android SDK和Android NDK等工具。 综上所述,如果你在打开QGC时遇到关闭的问题,可能是由于Qt版本不兼容或者缺少必要的开发环境所致。建议你检查Qt的版本是否符合要求,并确保已正确安装所需的开发环境。 #### 引用[.reference_title] - *1* [QGC地面站小白安装与简单实用](https://blog.csdn.net/lcy990417/article/details/117735235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [QGC4.1.2二次开发(1)--Qt5.12.6 andorid开发环境搭建](https://blog.csdn.net/jiandanyidianwd/article/details/115527819)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值