Qt-QML-关于两个平级的qml文件中的函数调用问题


这几天还在继续搞我的QML,感悟就QML是坑的同时,也是一门很号的语言,用于快速搭界面是很好的。那么,这几天, 遇到一个问题,在下用一个框框画一下,希望可以理解


 Qt-QML-关于两个平级的qml文件中的函数调用问题


抽象派,解释一下,QML1和QML3是并列的两个打模块吧,现在QMl1的QML2中包含了一个我自己写的空间,这个空间是相当消耗系统资源的。所以了,是不被允许在建立另一个的,现在呢,QML1是一个显示用于显示模块,QML3是配置模块,需要在QML3的QML4中调用QML1中的QML2中包含的模块中的函数Fun1.



费尽心思想在QMl4中怎么调用这个Fun1




一直想不出来,现在突然发现,卧槽,在QML中,一个文件相当于就是一个模块,一个组件的,每次我们调用一个QML文件的时候,就相当于就是一次加载啊,虽然不是动态加载把,但是问题来了,QML1和QML2是两个 并列的模块啊,这尼玛怎么能调用了,你想调用QML1中的函数,你QML3中又没有人家咋加载,怎家怎么识别你的内容了呀,



import QtQuick 2.5

import QtQuick.Controls 1.4

import QtQuick.Controls.Styles 1.4

import QtGraphicalEffects 1.0

ApplicationWindow {

   visible: true

   width: 800

   height: 600

   title: qsTr("测试程序")


//    File1

//    {

//        id:file1_fun

//    }



   Rectangle

   {

       x:100

       y:100

       width: 100

       height: 100

       MouseArea

       {

           anchors.fill: parent

           onClicked:

           {

               File1.showFile1Log()

           }

       }

   }




}




向上面的代码,这种调用,是怎么也不会成功的,因为我在我的模块中,就没有加载File1模块,FIle1对于现有模块来说,就是没有定义的,是不是



import QtQuick 2.5

import QtQuick.Controls 1.4

import QtQuick.Controls.Styles 1.4

import QtGraphicalEffects 1.0

ApplicationWindow {

   visible: true

   width: 800

   height: 600

   title: qsTr("测试程序")


   File1

   {

       id:file1_fun

   }



   Rectangle

   {

       x:100

       y:100

       width: 100

       height: 100

       MouseArea

       {

           anchors.fill: parent

           onClicked:

           {

               file1_fun.showFile1Log()

           }

       }

   }




}


只有这样,现有模块再能调用File1模块的中内容啊 ,是不是,


或者是我的理解还是不全面,希望又遇到的朋友可以帮助解释一下下,最近是真的无助啊  


上一篇:资源编排ROS之资源栈组StackGroup


下一篇:[Android Memory] Android Zipalign zip对齐优化app程序