找回密码
 立即注册
收起左侧

Qml 组件加载顺序是怎样的?顺序还是并行?

1
回复
6469
查看
[复制链接]
累计签到:12 天
连续签到:1 天
来源: 2016-7-5 11:14:30 显示全部楼层 |阅读模式
1Qter豆
本帖最后由 Himmelt 于 2016-7-5 11:17 编辑

Qml 文件的组件加载是一个怎样的机制啊?我在第一个Item里输出的信息始终落后于后面的组件。
  1. ApplicationWindow {
  2.     id: root
  3.     width: 800
  4.     height: 500
  5.     color: "#00000000"
  6.     visible: true
  7.     flags: Qt.FramelessWindowHint|Qt.Window
  8.     title: qsTr("Sora World")

  9.     property int radius: 8

  10.     Item{
  11.         id: init
  12. //        visible: false
  13.         Component.onCompleted: {
  14.             console.log("is First ?")
  15.         }
  16.     }

  17.     MouseArea{
  18.     }

  19.     MainForm{
  20.         id: rootForm
  21.         anchors.fill: parent
  22.         anchors.margins: root.radius

  23.         Component.onCompleted: {
  24.             console.log("mainForm")
  25.         }
  26.     }

  27.     DropShadow{
  28.     }
  29. }
复制代码
其中 MainForm是单独的组件文件MainForm.qml
控制台输出的信息始终是
  1. mainForm
  2. is Firt ?
复制代码
我只是想在所有组件加载之前,执行一小段js,如果js没执行完,组件就开始加载的话,就会出现未定义的变量错误等。但是这个组件加载的顺序实在搞不清啊,不知道哪个先加载,哪个后加载。我用来判断加载顺序的方式是 Component.onCompleted:console.log()

回复

使用道具 举报

累计签到:12 天
连续签到:1 天
2016-7-5 11:22:35 显示全部楼层
HIM的每日一问

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了