QT QML调用新页面和退出新页面回到原来页面

最近学习QT编程,发现资料好少。所以这里做下记录希望以后有人可以用的着。

 

QML是个非常炫的东西,能做出很漂亮的界面。很好理解,要在一个页面调用另外一个页面直接使用

var object=Qt.createComponent("LockFrm.qml").createObject(mainRect)

这个就会产生一个新的页面,object就是这个页面,可以直接使用 object.z = 4等修改页面属性。 Qt.createComponent("LockFrm.qml")这个产生一个component的控件

后面的 .createObject(mainRect) 就是生产这个页面显示出来,mainRect是页面上的一个控件,这个调用后新调用的页面就会覆盖原来的mainRect控件,调用object.z = 4就是把我新生成的控件显示到顶层。

当要退出新建的这个页面时可以使用        lockRect.destroy(); lockRect是LockFrm.qml里面最外面那个矩形框。这样就直接退出了。

 

 

当这样调用新页面后,在新页面原来老页面定义的按钮什么的还起作用。只有重叠的区域只会相应上层的按钮。可以在新页面新建一个按键区域屏蔽掉底层的按钮相应MouseArea{anchors.fill: parent} //为了屏蔽层界面的鼠标事件

 

在使用Flickable控件做显示时,可以拉动显示,但是大图片会显示到控件的外面去,可以使用clip:true  这样就不会超出Flickable控件定义的那个框框了。

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
如果您想在Qt中使用connect()函数将新页面打开和旗子落下动画效果连在一起,可以在页面跳转时触发动画效果的开始。 具体步骤如下: 1. 在新页面的构造函数中,连接一个槽函数到页面的show()信号,例如: ``` connect(this, &NewPage::show, this, &NewPage::startFlagAnimation); ``` 上述代码中,将NewPage页面的show()信号连接到NewPage页面的startFlagAnimation()槽函数上。 2. 在NewPage页面中实现startFlagAnimation()槽函数,例如: ``` void NewPage::startFlagAnimation() { // 在这里实现旗子落下的动画效果 } ``` 3. 在startFlagAnimation()槽函数中通过QML实现旗子落下的动画效果,例如: ``` QQuickView *flagView = new QQuickView(); flagView->setSource(QUrl("qrc:/FlagAnimation.qml")); flagView->setResizeMode(QQuickView::SizeRootObjectToView); flagView->show(); QObject *flagObject = flagView->rootObject(); QMetaObject::invokeMethod(flagObject, "start"); ``` 上述代码中,创建了一个QQuickView对象,将FlagAnimation.qml文件作为其源文件,然后显示该视图。接着,获取了FlagAnimation.qml文件中的根对象,并调用其start()方法启动动画效果。 4. 在FlagAnimation.qml文件中实现旗子落下的动画效果,例如: ``` SequentialAnimation { id: flagAnimation PropertyAnimation { target: flag property: "y" to: 100 duration: 1000 easing.type: Easing.OutBounce } function start() { flagAnimation.start(); } } ``` 上述代码中,实现了与前面相同的旗子落下的动画效果,并添加了一个start()函数,以便在应用程序中启动该动画。 5. 在NewPage页面中打开新页面时触发show()信号,例如: ``` void NewPage::openAnotherPage() { AnotherPage *anotherPage = new AnotherPage(); anotherPage->show(); } ``` 上述代码中,打开了AnotherPage页面,并触发了show()信号。 希望以上步骤能够帮助您将新页面打开和旗子落下动画效果连在一起。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值