在Qt Design Studio中进行页面切换

在Qt Design Studio中进行页面切换


  1. 新建页面1,默认生成的布局,将方法改为一个信号:

    复制代码
    Page {
        width: 1024
        height: 768
    
        property alias button: button
    
        Button {
            id: button
            x: 64
            y: 64
            text: qsTr("load T2")
        }
    }
    
    T1Form {
        signal navigate(string page)
    
        button.onClicked: navigate("T2.qml")
    }

    在点击按钮时,需要转向T2

  2. 新建页面2,默认生成的布局,将方法同样改为一个信号:

    复制代码
    Item {
        width: 1024
        height: 768
    
        property alias button: button
    
        Button {
            id: button
            x: 64
            y: 64
            text: qsTr("return t1")
        }
    }
    
    T2Form {
        signal navigate(string page)
        button.onClicked: navigate("T1.qml")
    }

    在点击按钮时,需要返回T1

  3. 在App.qml中,如下配置

    复制代码
        Loader{
            id: loader
            source: "T1.qml"
        }
    
        Connections{
            target: loader.item
            function onNavigate(page){
                console.log("navigate to", page)
                loader.source = page
            }
        }

    Loader加载的真正的QML实例,都在 loader.item,包括根对象,包括信号

相关推荐
Hyyy9 小时前
普通前端续命周报——第1周
前端·javascript
KaMeidebaby9 小时前
卡梅德生物技术快报|抗独特型抗体开发:半抗原检测技术瓶颈拆解,抗独特型抗体开发工程化实践
前端·数据库·人工智能·其他·百度·新浪微博
2501_940041749 小时前
纯前端创意交互:五款全新实用工具与视觉应用生成指南
前端·交互
刀法如飞10 小时前
《道德经》简单解说版-第 2 章:天下皆知美之为美
前端·后端·面试
GISer_Jing11 小时前
Three.JS渲染架构解读
java·javascript·架构
发现一只大呆瓜12 小时前
超全 Vite 性能优化指南:网络、资源、预渲染三维落地方案
前端·面试·vite
IT_陈寒12 小时前
Vue的computed属性怎么突然不更新了?
前端·人工智能·后端
时寒的笔记12 小时前
day13~14核心案例某采招网
开发语言·javascript·ecmascript
智商不够_熬夜来凑12 小时前
【Picker】单选多选
前端·javascript·vue.js