在编写组件时,使用下面两种方法可以实现组件的复用:

  1. import QtQuick 2.0
  2. import QtQuick.Window 2.2
  3. import QtQuick.Controls 1.4 as Controls
  4. import Global 1.0
  5. import "qrc:/materialUI/core"
  6. Controls.ApplicationWindow {
  7. id: dg;
  8. width: Math.max(content.width+ ,minimumWidth);
  9. height: content.height + +
  10. buttonContraner.height + ;
  11. visible: false;
  12. default property alias content: content.data;      //默认属性;
  13. property alias buttons: buttonView.children;       //引用;
  14. signal rejected();
  15.  
  16. property string nextButtonText: "下一步"
  17. property string negetiveButtonText: "取消"
  18.  
  19. minimumWidth: ;
  20.  
  21. View{
  22. anchors.fill: parent;
  23. backgroundColor: "#ffffff"
  24. Item{
  25. id : contrainer;
  26. width: content.implicitWidth;
  27. height: content.height;
  28. anchors{
  29. left: parent.left;
  30. right: parent.right;
  31. top: parent.top;
  32. leftMargin: ;
  33. topMargin: ;
  34. rightMargin: ;
  35. }
  36.  
  37. Item{
  38. id: flickItem;
  39. clip: true;
  40. anchors.fill: parent;
  41. Column{
  42. id: content;
  43. spacing: Global.margin;
  44. }
  45. }
  46. }
  47.  
  48. Item{
  49. id: buttonContraner;
  50. anchors{
  51. left: parent.left;
  52. right: parent.right;
  53. bottom: parent.bottom;
  54. bottomMargin: ;
  55. }
  56. height: negetiveButton.implicitHeight + ;
  57. clip: true;
  58. View{
  59. id: buttonView;
  60.  
  61. // backgroundColor: dg.color;
  62. elevation: ;
  63. fullWidth: true;
  64. elevationInverted: true;
  65. anchors{
  66. bottom: parent.bottom;
  67. right: parent.right;
  68. left: parent.left;
  69. }
  70. }
  71. }
  72. }
  73.  
  74. function open()
  75. {
  76. dg.visible = true;
  77. }
  78. function close()
  79. {
  80. dg.visible = false;
  81. }
  82.  
  83. Component.onCompleted: {
  84. console.log(content.height + " " + buttonContraner.height )
  85. }
  86. }

1. 默认属性;

  每一个qml组件仅有一个default  property属性。

如上述代码; 通过申明默认属性,在使用该组件时,qml会自动将子成员对象插入到指定的位置;

2.引用;

在上述代码中;

   property alias buttons: buttonView.children;

该表示即为引用,通过对buttons进行赋值,也能实现指定域扩展;

qml: 组件复用的更多相关文章

  1. Qt 学习之路 2(79):QML 组件

    前面我们简单介绍了几种 QML 的基本元素.QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用.这种组合元素就被称为组件.组件就是一种可重用的元素.QML 提供了很多方法来创建组件.不 ...

  2. Qt 学习之路:QML 组件

    前面我们简单介绍了几种 QML 的基本元素.QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用.这种组合元素就被称为组件.组件就是一种可重用的元素.QML 提供了很多方法来创建组件.不 ...

  3. QML之使用Loader加载QML组件

    呵呵,今晚是边看<裸婚时代>边敲代码,那电影看得...!钱真他妈不是个东西. 盼望Meego火起来. QML的Loader元素经常备用来动态加载QML组件.可以使用source属性或者so ...

  4. 前端UI组件复用工具

    "懒"是第一生产力. 代码复用总是程序员喜闻乐见的,前端组件化的最终目的就是复用,今天我们就将深入探讨如何实现UI组件的复用. 通常我们所说的组件往往是包含业务逻辑的前端组件,而这 ...

  5. vue-router 组件复用问题

    组件系统是Vue的一个重要组成部分,它可以将一个复杂的页面抽象分解成许多小型.独立.可复用的组件,通过组合组件来组成应用程序,结合vue-router的路由功能将各个组件映射到相应的路由上,通过路由的 ...

  6. 基于CMS的组件复用实践

    目前前端项目大多基于Vue.React.Angular等框架来实现,这一类框架都有一个明显的特点:基于模块化以及组件化思维.所以,开发者在使用上述框架时,实际上是在写一个一个的组件,并且组件与组件之间 ...

  7. 10.Web组件复用

    1.静态包含(一个指令) 在软件工程中构建可复用组件可极大的提高软件生产效率.增强系统的可维护性HTML标记对于一个web应用系统中的页面都是通用的,比如公司标志.版权声明.导航菜单JSP中引用的we ...

  8. 【React -- 5/100】 组件复用

    组件复用 React组件复用概述 思考:如果两个组件中的部分功能相似或相同,该如何处理? 处理方式:复用相似的功能 复用什么? state 操作state的方法 两种方式: render props模 ...

  9. Vue.js 组件复用和扩展之道

    软件编程有一个重要的原则是 D.R.Y(Don't Repeat Yourself),讲的是尽量复用代码和逻辑,减少重复.组件扩展可以避免重复代码,更易于快速开发和维护.那么,扩展 Vue 组件的最佳 ...

随机推荐

  1. ES6函数增强

    函数参数可以拥有默认值.调用函数时,如果没有进行相应的实参传递,参数就会使用默认值.怎么给参数提供默认值呢?很简单,声明函数时候,给形参赋一个值就可以了,这个值就是参数的默认值. // num2拥有默 ...

  2. Nginx 用最快方式让缓存失效

    陶辉103 一般让及时缓存失效针对nginx官方是收费的 我们可以用第三方模块 https://github.com/FRiCKLE/ngx_cache_purge proxy_cache_path ...

  3. 我踩过的Alwayson的坑!

    最近被sql server Alwayson高可用组和读写分离,弄得神魂颠倒,身心俱疲.遇到了下面一些问题,提醒自己也给后来人做些记录. EntityFramework支不支持Alwayson? 起因 ...

  4. Redis——Linux(centos7.x)下Redi和PHP Redis插件安装——【一】

    Redis 安装 下载地址:http://redis.io/download,下载最新文档版本. $ wget http://download.redis.io/releases/redis-4.0. ...

  5. E - Just a Hook HDU - 1698 线段树区间修改区间和模版题

    题意  给出一段初始化全为1的区间  后面可以一段一段更改成 1 或 2 或3 问最后整段区间的和是多少 思路:标准线段树区间和模版题 #include<cstdio> #include& ...

  6. 学习Android过程中遇到的问题及解决方法——AS为xutils添加依赖

    在使用xutils时遇到不能添加以来的问题,花了很长时间终于解决,网上添加依赖的方法很多,在此针对个人出现的问题作下笔记. 我本想使用jar包,因为在使用smartImageView时是用的jar包来 ...

  7. Android大学课件SQLite3 数据库操作

    一.数据库介绍 SQLite3:当有大量相似结构的数据需要存储的时候 . 其实SQLite3 就是一个文件,类似之前学过的MySQL SqlServer等. 二.SQLiteOpenHelper 是一 ...

  8. CH2601 电路维修(算竞进阶习题)

    01边bfs 这题很容易想到的就是根据符号的情况建图,把每个点方格的对角线看成图的节点,有线相连就是边权就是0,没有就是1 然后跑最短路,但是最短路用的优先队列维护是有logn的代价的 这题还有一个更 ...

  9. Spring 学习笔记(二)

    spring 核心 (xml方式.注解方式) 两种方式实现 ioc :控制反转 aop : 面向切面

  10. Heron and His Triangle HDU - 6222(pell 大数)

    ---恢复内容开始--- Heron and His Triangle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/2 ...