zoukankan      html  css  js  c++  java
  • qml 画页迁移

    想要达到画页迁移的效果,有很多方法:比如通过loader将qml加载,然后,或者将visible置为false.或者将souce变成空字符串。或者通过动态创建对象,都可以,但是,放到我们实机上这一切都不好使了,这个是为什么?报错都是在将要迁移到子画页时,说无法找到子画页的id,我明明在main.qml里都定义了,这个真的是不清楚。qt creater都没有问题的。后来qml有个控件叫StackView,这个控件就好使。

            StackView {
                id: stack
                anchors.centerIn: parent
                 parent.width
                height: parent.height
    
                Loader{
                    id:page_loader_main_menu
                     parent.width
                    height: 600
                    anchors.right: parent.right
                    anchors.top: parent.top
                    source: "Main_menu.qml"
                }
            }
            Component{
                id:main_menu_search_page
                    Loader{
                        id:page_loader_main_menu_search
                         main_menu_rec.width
                        height: 600
                        source :"Search_Hot.qml"
                    }
            }
    
            Mini_Player{}
            Connections{
                target: main_menu_control_observer
                onMain_menu_lift_search_hot:{
                    stack.push(main_menu_search_page)
                    console.log("depth:",stack.depth)
                }
                onSearch_hot_lift_main_menu:{
                    console.log("return_depth:",stack.depth)
                    if(stack.depth === 1) {stack.clear()}
                }
            }
        }

    到这里还没什么太大的问题,反复用C++与qml交互。是因为子画页不识别id,这个让人很无语。现在搞的这么麻烦。当画页迁移到Search_Hot.qml后,居然还能点击根画页的button,导致能够不断的入栈迁移画页。

    Search_Hot.qml中,最上面的位置加入以下代码,防止鼠标穿透

        MouseArea{
            anchors.fill:parent
            enabled:true
            onClicked: {}
            onPressed: {}
            onReleased: {}
        }

    不过为什么到实机的时候,动态创建对象都不好用了呢?这个谁能给我解答下?

  • 相关阅读:
    linux超级终端minicom的使用方法
    linux常用命令
    chmod 777 修改权限
    linux mount挂载设备(u盘,光盘,iso等 )使用说明
    logcat的调试 比较有用的几个命令
    git分支
    Debug和Release区别
    【Linux】linux常用基本命令
    Git代码仓库的建立流程
    Linux记录-JMX监控Tomcat上传到falcon
  • 原文地址:https://www.cnblogs.com/wxmwanggood/p/11003591.html
Copyright © 2011-2022 走看看