Qt-QML-关于两个平级的qml文件中的函数调用问题
这几天还在继续搞我的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模块的中内容啊 ,是不是,
或者是我的理解还是不全面,希望又遇到的朋友可以帮助解释一下下,最近是真的无助啊
Qt-QML-关于两个平级的qml文件中的函数调用问题的更多相关文章
- Qt连接数据库的两种方法
我曾经想过,无论在哪个平台下开发,都不要再接触SQL Server了,但显然不行.我们是来看世界的,不是来改变世界的,想通就好. 前两天,尝试了一下Qt下远程访问数据库.在macOS下,用Qt 5.1 ...
- ie7中ul不能嵌套div和li平级
我要讲一个忧伤的故事,本以为清晰的层次结构,ul里不能嵌套div和li平级,不然会乱乱乱! 代码: <ul class="catshow"> ...
- gradle平级项目引用
一.准备1. 新建一个gradle项目cc-core2. 新建一个gradle项目cc-util 二.场景项目cc-core引用项目cc-util 三.配置1. 项目cc-util被引用的项目什么都不 ...
- easyui 获取树的平级根节点的父节点&选择性展示树的一个根节点
1.easyui的树的根节点一般是几个平级的,怎样获取这些父节点的id? 可以将获取到的平级根节点放在一个数组中 var roots=[]; roots=$("#tree1").t ...
- QT定时器的两种应用(QObject就有timerEvent事件,一种什么样的居心呢?)
QT中定时器的使用方法(1)重载timerEvent(QTimerEvent *)函数,然后再在类的构造函数中设置时间间隔 startTimer(50);//单位为毫秒(2)在类的构造函数中设定如 ...
- Qt移动应用开发(六):QML与C++互动
Qt移动应用开发(六):QML与C++互动 上一篇文章讲到了在Qt Quick中实现场景切换的一种可能的方法,场景切换是诸如游戏等应用在内必需要面临的技术难点,所以场景切换并没有通行的方法,依据自己的 ...
- TreeView树,全选,反选,平级选操作
首先事件选择,选择的是MouseUp事件.为啥?因为凡是跟Check有关的,在选中父节点或者子节点,都会二次触发.然后发生的就是死循环. Up事件就可以避免二次触发.Down事件呢?那就触发After ...
- eclipse中创建了web项目,src下创建子目录是平级的情况
1.在以下可设置不同的视图 windows->show view菜单 ->点Other...... 然后在搜索框里输入你想要的视图 2.在Project Explorer下创建的包看 ...
- Qt creator error: LNK1123: 转换到 COFF 期间失败: 文件无效或损坏(vs2010的嵌入式清单文件)
下面是vs2010导入别人文件时出现的问题的解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为将 项目|项目属 ...
随机推荐
- composer的基本运用
Composer -- PHP依赖管理的新时代 一.简介 说到composer,绝大多数的开发人员都会用到.composer是一个什么工具呢? composer 是 PHP 用来管理依赖(depend ...
- 【洛谷P1373】小a和uim之大逃离
小a和uim之大逃离 题目链接 因为每次只能向下或向右走,我们可以递推 dp[i][j][d][0/1]表示走到(i,j),mod k 意义下差值为d,轮到小a/小uim操作时的方案数 dp[i][j ...
- NDK-C++ support
1.NDK相关各种可用的C++运行库Android平台自带微型C++运行库(system),NDK提供补充功能的C++运行库(gabi++, stlport, gnustl)运行库 异常支持 RTTI ...
- 【oracle】关于创建表时用default指定默认值的坑
刚开始学create table的时候没注意,学到后面发现可以指定默认值.于是写了如下语句: 当我查询的时候发现,查出来的结果是这样的.. 很纳闷有没有,我明明指定默认值了呀,为什么创建出来的表还是空 ...
- Linux在线安装jdk8,并配置环境变量
1.创建相关目录:下载目录.安装目录 下载目录: cd / 2.下载jdk8到目录 下载前先跳转到下载目录,比如希望最后压缩包下载到/home/bak/下, 则先创建bak目录,命令如下: 注意:如果 ...
- 关于gitbash一直报:sh: __git_ps1: command not found的解决办法
curl -o ~/.git-prompt.sh https://raw.githubusercontent.com/git/git/master/contrib/completion/git-pro ...
- js的单例
对于 JS 来说,巨大的灵活性使得其可以有多种方式实现单例模式,使用闭包方式来模拟私有数据,按照其思路可得: var single = (function(){ var unique; functi ...
- MySQL数据库 : 函数和存储过程
CONCAT 可以把多个字符串连在一起,如把 doc_id 和 title这两个字段的查询结果组合成一个字符串:SELECT CONCAT(doc_id,title) FROM simhash; CO ...
- VSCode 配置 C++
每次换台电脑写c++,就要找配置,很是繁琐.这次自己写篇博客,记录下相关配置过程. 安装编译器 打开下面的网站 http://www.msys2.org ,下载 64 位的 MSYS2,按照主页上的步 ...
- STM32 硬件UART接收超时检测设置
STM32 硬件UART接收超时检测设置 -----------------本文作者"智御电子",期待与电子爱好者交流学习.---------------- 应用场景 在uart应 ...