Qt·页面切换的方式

这篇具有很好参考价值的文章主要介绍了Qt·页面切换的方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方式1:主页面与子页面互相切换-不需初始化,实时创建

当前页面切换子页面
import页面文件
var component = Qt.createComponent("LoadedPage.qml") ;
var object = component.createObject(parent);或直接贴qml字符串:
var myItem = Qt.createQmlObject("import QtQuick 2.0; MyItem {}", parent);
子页面切换为父页面,销毁子页面即可,qt安全机制,可在内部调用destroy()
1、object.destroy();或myItem .destroy();
方式2:平级页面切换-使用Loader加载,无动画     

使用Loader.setSource方式-无需初始化子页面,销毁不保留
在父页面,创建loader,并初始化
Loader{
id:loader;
source: "initPage.qml" ;
}
切换其他页面显示
loader.setSource("otherPage.qml")
使用setComponent方式-初始化子页面,保留页面
在父页面,创建多个页面的component,过程不赘述
在父页面,创建loader,并初始化component
Loader{
id:loader;
sourceComponent:initPonent;
}
在子页面或父页面,触发切换
 loader.sourceComponent = otherPonent;
方式3:多个平级页面切换-使用stackview,需要初始化,有动画

在父页面,创建多个component,过程不赘述

Component{

id:initComponent;

}

Component{

id:component1;

}

在父页面,创建一个StackView,并设置初始页面

 StackView{

id: stackView;

anchors.fill: parent;

initialItem: initComponent;

}

在父页面,定义切换函数,用于切换页面

function changePage1(){

stackView.push(component1)

}

在子页面,触发切换

parent.changePage1();

方式4:内部页面切换-TabView方式或Loader方式加载

TabView
import QtQuick 2.0
import QtQuick.Controls 2.15

TabView {
    Tab {
        title: "Tab 1"
        Rectangle {
            color: "lightblue"
            anchors.fill: parent
            Text {
                text: "Content of Tab 1"
                anchors.centerIn: parent
            }
        }
    }

    Tab {
        title: "Tab 2"
        Rectangle {
            color: "lightgreen"
            anchors.fill: parent
            Text {
                text: "Content of Tab 2"
                anchors.centerIn: parent
            }
        }
    }
}

Loader效果在上文有描述
方式5:多个平级页面切换-需要初始化,隐藏与显示方式

初始化多个页面 //初始化不赘述
在事件或槽函数进行不同页面的隐藏与显示
 文章来源地址https://www.toymoban.com/news/detail-417466.html

到了这里,关于Qt·页面切换的方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 四.Winform使用Webview2加载本地HTML页面并互相通信

    往期相关文章目录 专栏目录 实现刷新按钮 点击 C# winform 按钮可以调用 C# winform 代码显示到html上 点击 HTML 按钮可以调用 C# winform 代码更改html按钮字体 C# - html html-C# 确保mainView2的CoreWebView2异步初始化完成 在webview2的CoreWebView初始化之后设置属性 在coreWebview2完成时添加 WebMess

    2024年01月24日
    浏览(35)
  • VS2019+QT代码与QtCreator工程的互相转换

    QT Creator的project转换成Visual Studio的project 在windows10下,运行Qt Command Prompt。 输入命令行: qmake -tp vc XXX.pro 会生成文件XXX.vcxproj Visual Studio的project转成QT Creator的project 第一步,因为原Visual Studio工程就是基于QT Template的工程,所以我们可以用VS里的QT插件里的\\\"Create basic .pro file...\\\"菜

    2024年02月13日
    浏览(30)
  • java中对象和Map互相转换的几种方式

    在Java中,将对象和Map相互转换是常见的操作,可以通过不同的方式实现这种转换。以下是几种常见的方法以及示例说明: 1. 使用Hutool工具类 Hutool是一个优秀的Java工具包,提供了丰富的工具方法,其中就包括对象和Map之间转换的工具方法。 示例: Hutool的 BeanUtil 提供了 bean

    2024年02月03日
    浏览(31)
  • 若依前端,菜单栏切换时刷新问题[页面菜单切换时,页面总是重新刷新,导致页面输入的查询参数重载清空]...

    前端页面菜单切换时,页面总是重新刷新,导致页面输入的查询参数重载清空 这样切换时,页面就刷新了,解决方法在这里 1,页面代码,这里指定name name: \\\"Item\\\", 注意 name的首字母必须大写 2,页面代码,这里指定id id=\\\"item\\\" 注意,id的首字母必须小写 3,页面配置,这里的路由

    2024年02月12日
    浏览(45)
  • uniapp 左右滑动切换页面并切换tab

    实现效果如图 要实现底部内部的左右滑动切换带动上方tab栏的切换,并且下方内容要实现纵向滚动 ,所以需要swiper,swiper-item,scroll-view组合使用 tab栏部分  tab栏点击切换,需要重新调取数据 下方内容部分 滑动切换,改变上方tab栏状态,并重新调取数据 以上即可实现页面左

    2024年02月13日
    浏览(31)
  • 简洁且易用的ChatGPT&AI的桌面应用程序ThinkyMate → 不需登录

    本文初发于 “ 偕臧的小站 ”,同步转载于此。 简 述: 开发了一个简洁且易用的 ChatGPT AI 的桌面应用程序 ThinkyMate; 跨平台,无需登录或注册即可使用。 已经内置博主的账号 Key,用户也可以自己的私人 API-KEY。 Simple and easy to use desktop application for ChatGPT AI 简洁且易用的 Chat

    2024年01月23日
    浏览(53)
  • uni-app:单页面的页面切换

    2024年02月07日
    浏览(44)
  • python自动化测试selenium(四)切换页面、切换窗口

    一、切换页面 如果定位元素失败(抛出NoSuchElementException),调查网页源代码,发现这个元素位于一个frame或iframe标记的元素下的子网页(html标记)里,那么此时需要切换Frame。 切换方法一:使用frame或iframe标记的元素的id或name属性值来作为切换条件 switch_to.frame() 将当前定位

    2024年02月12日
    浏览(32)
  • selenium页面切换操作

    selenuim页面切换 webdriver只能在一个页面里对元素进行识别和定位。如果有多个页面操作的时候,要先进行页面切换。 切换分两种 1 iframe内嵌页面切换(框架集切换) 总结: 1》 切换iframe用的是driver.switch_to.frame(xxx) xxx是获取iframe标签,可以通过id或者tagname等 2 》切换回来用的

    2024年02月07日
    浏览(39)
  • Selenium实现多页面切换

    当使用 Selenium 进行自动化测试或爬取数据时,有时需要处理多个页面之间的切换。以下是一些可能需要多页面切换的情况: 在当前页面上点击链接、按钮或执行某些操作时,可能会打开一个新的窗口或页面。此时,需要切换到新的窗口或页面,以便在其中执行操作。 某些网

    2024年02月11日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包