StackView加载自定义组件

这个博客展示了如何在Qt环境中利用QtQuick Controls和StackView组件创建一个动态的界面,通过点击事件改变堆叠视图的内容。内容涉及到QtQuick的导入、颜色随机生成、自定义组件以及JavaScript的交互,体现了Qt界面编程的灵活性。
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
import QtQuick.Controls 1.4 as Ctr1
import QtQuick.Layouts 1.2
import './Text.js' as Jie

Window{
    id:window
    width:640
    height:480
    visible: true
   title:"Hello world"

   Item{
        id:jieItem
       anchors.fill:parent
       //颜色随机生成器
       property  var colorBuilder:Jie.getColorFactory(Qt.rgba)
       Component{
           id:rectPage
           Rectangle{
               MouseArea{
                   anchors.fill: parent
                   onClicked: {
                       stack.pop()
                   }
               }
               Component.onCompleted: {
                   console.log('yes')
               }
           }
       }
        Component{
            id:jieDateTimeLabel
            JieDateTimeLabel{
                colorBuilder: jieItem.colorBuilder
                text:'ie Stack'

                MouseArea{
                    anchors.fill:parent
                    onClicked: stack.pop()
                }
            }
        }

       StackView{
         id:stack
         anchors.fill:parent
          initialItem: Component{
                       Rectangle{
                           color: jieItem.colorBuilder()
                        MouseArea{
                            anchors.fill:parent
                            onClicked: {
                                //stack.push(rectPage,{color:jieItem.colorBuilder()})
                                //stack.push(jieDateTimeLabel)
                                stack.push('./JieDateTimeLabel.qml',{colorBuilder:jieItem.colorBuilder,text:'Jie test'})
                            }
                        }
                       }
                       }
     }
   }

}


在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lu750310

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值