当前位置: 首页 > news >正文

网站建设门户洛阳市城市建设网站

网站建设门户,洛阳市城市建设网站,无锡做网站,网络营销推广方法案例最近在学习Qml,但对Qml的各种用法都不太熟悉,总是会搞忘,所以写几篇文章对学习过程中的遇到的东西做一个记录。 学习参考视频:https://www.bilibili.com/video/BV1Ay4y1W7xd?p1&vd_source0b527ff208c63f0b1150450fd7023fd8 目…

最近在学习Qml,但对Qml的各种用法都不太熟悉,总是会搞忘,所以写几篇文章对学习过程中的遇到的东西做一个记录。
学习参考视频:https://www.bilibili.com/video/BV1Ay4y1W7xd?p=1&vd_source=0b527ff208c63f0b1150450fd7023fd8

目录

  • 1 动态加载控件
    • 1.1 用Component加载
      • 1.1.1 使用方法
  • 2 用Loader加载
    • 2.1 用法
      • 加载qml文件
      • 加载Component


1 动态加载控件

1.1 用Component加载

Component提供了createObject方法,可以在程序运行时调用,以添加控件,它的官方例程如下。

var component = Qt.createComponent("Button.qml");
if (component.status == Component.Ready)component.createObject(parent, {x: 100, y: 100});

该方法需要先把加载的控件封装到一个qml文件中,然后通过createComponent加载qml文件,如果qml文件是可用的(component.status == Component.Ready),那就用createObject来创建一个实例,参数1是实例的父控件id,参数2是实例的初始属性。

1.1.1 使用方法

下面举例说明使用流程。
创建一个Rect.qml文件。
在这里插入图片描述
在这里插入图片描述
在Rect.qml填入以下内容,定义一个长宽为30的蓝色矩形。

import QtQuick 2.0Rectangle { width: 30; height: 30; color: 'blue' }

在main,qml填入一下内容,用按钮来动态添加Rect控件到网格布局。

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12Window {visible: true; width: 200; height: 120GridLayout {id: layoutcolumns: 4}Button {anchors.bottom: parent.bottomonClicked: {let component = Qt.createComponent("Rect.qml");if (component.status == Component.Ready)component.createObject(layout);}}
}

效果:
请添加图片描述

2 用Loader加载

Qml提供的Loader类动态加载控件,以下是官方说明:

Loader可以加载QML文件(使用source属性)或Component对象(使用sourceComponent属性)。这对于将组件的创建延迟到需要时非常有用:例如,当应按需创建组件时,或者出于性能原因不应不必要地创建组件时。

它与Component加载有以下两处不一样。
1、Loader是延迟加载预先设定好的控件,并不是像Component那样可以加载任意数量的控件。
2、Loader加载的可以是Component对象或者qml文件,Component只能加载qml文件。

2.1 用法

加载qml文件

以上一节的Rect,qml为例。

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12Window {visible: true; width: 200; height: 120Loader { id: loader}Button {anchors.bottom: parent.bottomonClicked: loader.setSource("Rect.qml")}
}

请添加图片描述

加载Component

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12Window {visible: true; width: 200; height: 120Loader { id: loader }Component {id: componentRect {}}Button {anchors.bottom: parent.bottomonClicked: loader.sourceComponent = component}
}

请添加图片描述

http://www.15wanjia.com/news/185160.html

相关文章:

  • 做采购 通常在什么网站看公司做的网站账务处理
  • 大学生简历制作网站温州seo网络推广代理价格
  • 佛山网站设计公司wordpress插件mip
  • 加拿大购物网站排名游戏推广工作怎么样
  • 网站表单点击切换网站建设教程免费湖南岚鸿
  • 个人网站 目的木蚂蚁网站正在建设中
  • 极速网站建设定制百度指数移动版app
  • 成都做网站的公司谷歌怎么做网站优化
  • 广州网站设计开发招聘1元涨1000粉丝网站
  • 网站建设经典教材免费域名注册网
  • 如何才能建设出一个优秀网站杭州关键词优化服务
  • 公司网站开发人员的的工资多少张家界网站建设dcwork
  • 网站变成手机网站云浮网站设计
  • 山西建设网官方网站如何在自己电脑上搭建网站
  • 大型大型网站建设方案东莞市南城区
  • cdr做网站怎么导出开发公司退房款代理词
  • 有关师德建设的网站wordpress mysql d2rq
  • 在线做图网站咸阳网站建设推广
  • 网站被别的域名绑定服务公司沈傲芳
  • wordpress网站价格散文网站模板
  • 北京网站制作网络推广公司京东商城网站建设教程
  • 外贸网站的建设网站制作模板北京
  • 网站服务器购买价格dw个人网站设计
  • 医院网站建设选哪家有哪些电商网站
  • 网站开发天晟合益简述网页的基本结构
  • 重庆专业的网站建设南昌seo外包公司
  • 网上购物网站模板唐山如何做百度的网站建设
  • 分类信息网站建设专职wordpress更新服务评论
  • 营销网站设计上海天气设计师服务平台下载不了
  • 中国十大黄页网站排行榜电子商务网站功能设计