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

相关推荐
做萤石二次开发的哈哈4 分钟前
海康班班通交互一体机技能接入实战:ISAPI透传+OTAP双协议封装,Web/App/小程序教学管理应用一站生成
前端·物联网·小程序·交互·萤石开放平台·蓝海aiot一站式工作台·aiot开发
计算机魔术师7 分钟前
Anthropic一次性锁死十年算力,5170亿美元买什么
前端
IT_陈寒9 分钟前
Redis的订阅丢失消息?你可能忘了这个配置
前端·人工智能·后端
头茬韭菜15 分钟前
第 3 篇:「Pydantic 即 Schema」—— 工具生态三层解剖
前端·chrome·ai·openmanus
低代码布道师15 分钟前
外包项目管理平台全栈实战课02搭建数据底座:Next.js + PostgreSQL + Prisma 7
开发语言·javascript·postgresql·全栈开发
志尊宝29 分钟前
Vue3 零基础每日笔记(004):模板语法初识——插值表达式、v-bind、v-on 一次学会
javascript·vue.js·笔记
恋猫de小郭35 分钟前
Flutter 状态管理基准测评,一个很有趣的观点
android·前端·flutter
西西弗Sisyphus36 分钟前
Qt 实现一个 Windows 启动项查看器
开发语言·windows·qt
雪芽蓝域zzs41 分钟前
前端编辑组件wangEditor
前端