qml 多界面切换——qml

前言

无论用什么语言开发,稍微复杂点的界面,都会涉及到多界面切换。

之前用QtWidgets开发时,我曾写过一篇博客,现在我用qml开发移动端,觉得也有必要记录一下多界面切换这个知识点。

界面切换的几种方式

多界面切换根据不同的场合,可用不同的切换方式,当然,你非要只用一种方式也是可以的,这个都没规矩,你怎么方便怎么来。下面我列举我切换界面的方式和场合:

StackView push/pop Component

我感觉最常用的就是此类了,StackView像一个队列似的,将界面压(push)进去,不需要的弹(pop)出来。如果用这种方式,新界面被push进去,即显示新界面,旧界面还存在内存中,没有释放。这可以用在分级界面(主界面作为主控板,控制各级子界面的显示),你懂我的意思吧?此类切换方式,在界面切换时会有个动画,这个动画也是可以改变的。

下面给个例子进行说明:主界面作为StackView的初始化界面:

    Component{
        id:mainForm;
        MainForm{}
    }
    StackView {
        id: mystackview;
        anchors.fill: parent;
        initialItem: mainForm;
    }

当满足某些条件,展示子界面时,将子界面push进去,例:用户未登录 ,展示登录界面:

    Component{
        id:loginItem;
        LoginItem{}
    }

    function isShowLogin()
    {
            var flag=dataController.getLoginFlag();
            if(flag==0)
            {//账号登录
                mystackview.push(loginItem);
            }
     }

点击登录按钮时:

        MouseArea{
            anchors.fill: parent;
            onClicked: {
                var mobile=accountText.text;
                var password=wordText.text;
                dataController.accountLogin(mobile,password);

                mystackview.pop();
            }
        }

Loader加载Component

用加载器Loader实现界面的切换也是可以的,但是这种方式属于“狗熊掰棒子”,加载新的界面后,旧的就丢了。如果界面只有两级或者不需保存之前的界面数据,则可以用这种方式。这种方式就是替换Loader的sourceComponent达到界面切换的效果,这种方式是不带动画的。

    Loader{
        id:pagingLoader;
        anchors{ left: parent.left; top: titleBar.bottom; right: parent.right;
                bottom: parent.bottom;}
    }
    Component{
        id:webview;
        WebEngineItem{
            anchors.fill: parent;
        }
    }
    function loadWebView(name,url)
    {
        lab.text=name;
        pagingLoader.sourceComponent=webview;
        pagingLoader.item.url=url;
    }

显示或者隐藏

这种方式是最简单的,设置界面的显隐就可以了,也可设置界面的图层(z),从而达到想要的效果。

这个我就展示代码了,没什么必要。

结束语

写代码属于随心所欲,不必拘泥于条条框框,能够达到效果,想怎么实现随你喜欢!

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: QML酷狗界面是指酷狗音乐应用程序的用户界面,该界面使用了QML(Qt Modeling Language)技术进行开发。酷狗是一款非常受欢迎的音乐播放器和下载app,它提供了在线音乐播放、下载、歌词显示等功能。 QML酷狗界面以简洁、现代和直观的设计闻名。它采用了扁平化的风格和鲜艳的色彩,让用户在使用音乐播放器时能够有愉悦的视觉体验。界面上通常包括一个主页,用于显示推荐的音乐、热门歌曲和榜单等。用户可以通过滑动屏幕或点击底部导航栏来浏览各个页面。 在QML酷狗界面中,音乐播放器的控制按钮通常位于底部,方便用户切换音乐、暂停/播放、调整音量等。界面上还提供了搜索功能,用户可以通过关键词查找自己喜欢的音乐。与此同时,酷狗还支持在线播放歌曲和网络电台,用户可以随时随地欣赏自己喜欢的音乐。 除了播放音乐,QML酷狗界面还提供了歌词显示功能。当用户播放一首歌曲时,相应的歌词将以滚动的形式显示在屏幕上,让用户能够更好地理解歌曲的含义。 总体而言,QML酷狗界面通过其简洁、现代和直观的设计,以及丰富的音乐播放和下载功能,提供了一种愉悦和便捷的音乐体验。无论是寻找新歌、听音乐还是查看歌词,用户都能够轻松在QML酷狗界面上实现。 ### 回答2: QML酷狗界面是一种基于QML语言开发的酷狗音乐播放器的用户界面。酷狗是一款非常受欢迎的音乐播放器,具有强大的功能和丰富的音乐资源。 酷狗界面以其简洁、直观的设计风格而闻名。整个界面布局合理,功能分类清晰,用户可以轻松找到所需的功能。精简的导航栏提供了常用功能的快速入口,如搜索、音乐库、排行榜等。用户可以通过点击不同标签页快速切换不同的功能模块。 在音乐播放方面,酷狗界面提供了多种播放模式和功能,如单曲循环、随机播放、歌词显示等。用户可以通过简单的点击操作控制音乐的播放暂停、上下一首切换,同时还能查看当前歌曲的专辑封面、歌词和歌曲进度条等信息。 酷狗界面还提供了丰富的音乐资源,用户可以根据喜好进行音乐分类浏览,如热门歌曲、新歌推荐、流行榜等。用户还可以根据歌手、专辑进行搜索,方便找到自己喜欢的音乐内容。 总体来说,QML酷狗界面以其简洁、直观的设计风格,丰富的功能和音乐资源,为用户提供了良好的音乐播放体验。无论是在功能还是交互体验上都能满足用户的需求,成为众多音乐爱好者的首选音乐播放器。 ### 回答3: QML酷狗界面是酷狗音乐播放器的用户界面设计语言,具有良好的用户界面交互和自定义能力。它采用QML语言进行开发,能够灵活地创建富有创意和交互性的音乐播放器界面。 酷狗界面采用了现代化和简洁的设计风格,在视觉上给人一种清晰、易于导航和操作的感觉。界面布局合理,功能区块划分清晰,让用户可以轻松地找到所需的功能和控制按钮。 酷狗界面的交互设计也很出色,支持用户直接点击、滑动或拖拽操作,通过手势控制来完成音乐的播放、切换、暂停等操作。界面元素的动画效果流畅,给用户带来舒适的界面交互体验。 除了基本的音乐播放功能外,酷狗界面还提供了一些实用的音乐管理功能,比如搜索功能可以帮助用户快速找到自己想听的音乐,歌词显示功能可以让用户时刻了解歌曲的歌词内容,个人音乐库功能可以让用户管理和收藏自己喜爱的音乐。 总之,QML酷狗界面以其出色的用户界面设计和交互能力,为用户带来了便捷、美观和愉悦的音乐播放体验。无论是在功能上还是在视觉上,酷狗界面都达到了让用户对音乐播放器产生兴趣和喜爱的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值