在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,包括根对象,包括信号

相关推荐
钱多多先森2 小时前
【Dify】使用 python 调用 Dify 的 API 服务,查看“知识检索”返回内容,用于前端溯源展示
开发语言·前端·python·dify
霍理迪2 小时前
JS—数组
开发语言·前端·javascript
Surplusx2 小时前
运用VS Code前端开发工具完成微博发布案例
前端·html
哪里不会点哪里.2 小时前
Nginx 详解:高性能 Web 服务器与反向代理
服务器·前端·nginx
Ulyanov2 小时前
超越平面:用impress.js打造智能多面棱柱演示器
开发语言·前端·javascript·平面
HWL56792 小时前
vue抽离自定义指令的方法
前端·javascript·vue.js
2601_949575862 小时前
Flutter for OpenHarmony艺考真题题库+个人信息管理实现
java·前端·flutter
CC码码2 小时前
基于WebGPU实现canvas高级滤镜
前端·javascript·webgl·fabric
懒羊羊不懒@2 小时前
Web前端开发HTML
前端