QML笔记-QML基本数据类型的使用

使用QML进行界面开发 1、概述     ESM6802是英创公司推出的基于Freescale i.MX6DL双核处理器(ARM Cortex-A9,主频1GHz)的高性能工控主板,imx6dl内部带有硬件3D、2D图像处理模块,能够对图像界面绘制进行硬件加速,使得应用程序显示更加快速流畅。ESM6802支持Qt 5.8版本,支持使用QML进行界面开发,而且能够利用硬件图像加速处理模块优化QML构建的图像界面的渲染。... 阅读详情

转自:https://blog.youkuaiyun.com/qq78442761/article/details/90604216

基本概念

这里的数据类型不仅仅有C++里面的int,String等,

还有个很有特点的类型var,这个又可以放数组,也可以放函数,也可以混着换,很少有趣。

举个栗子

程序运行截图如下:
在这里插入图片描述
后台打印如下:

QML debugging is enabled. Only use this in a safe environment.
qml: The mUrl is http://www.it1995.cn
qml: aNumber is : 100
qml: aBool is : true
qml: aString is : #FF008800
qml: aRect : 17 56
qml: The length of the array is : 6
qml: ------------------华丽的分割线------------------
qml: 1
qml: 2
qml: 3
qml: four
qml: five
qml: six
qml: ------------------华丽的分割线------------------
qml: 1
qml: 2
qml: 3
qml: four
qml: five
qml: six
qml: The date is : 周一 5月 27 00:00:00 2019 GMT+0800
qml: The function value is : Seven

main.qml:

import QtQuick 2.9
import QtQuick.Window 2.2

Window {
    visible: true
    width: 300
    height: 200
    title: qsTr("Hello World")

    property string mString: "www.it1995.cn"
    property int mInt: 88
    property bool isFemale: false
    property url mUrl: "http://www.it1995.cn"

    property int aNumber: 100
    property bool aBool: true
    property var anotherString: String("#FF008800")
    property color aColor: Qt.rgba(0.2, 0.3, 0.4, 0.5)
    property rect aRect: Qt.rect(17, 56, 46, 10)
    property point aPoint: Qt.point(10, 10)
    property size aSize: Qt.size(10, 10)
    property vector3d aVector3d: Qt.vector3d(100, 100, 100)
    property var anArray: [1, 2, 3, "four", "five", (function(){ return "six" })]
    property var anObject: {"foo": 10, "bar": 20}
    property var aFunction: (function(){ return "Seven"; })

    property var aFont: Qt.font({family: "Consolas", pointSize: 30, bold: false})
    property date mDate: "2019-05-27"

    Text {
        id: mTextID
        anchors.centerIn: parent
        text: mString
        font: aFont
    }

    Component.onCompleted: {
        print("The mUrl is " + mUrl)

        //var datatype
        console.log("aNumber is : " + aNumber)
        console.log("aBool is : " + aBool)
        console.log("aString is : " + anotherString)
        console.log("aRect : " + aRect.x + " " + aRect.y)
        console.log("The length of the array is : " + anArray.length)

        print("------------------华丽的分割线------------------")
        anArray.forEach(function(value, index){

            if(index === 5){
                console.log(value())
            }
            else{
                console.log(value)
            }
        })

        print("------------------华丽的分割线------------------")
        for(var i = 0; i < anArray.length; i++){
            if(i == 5){
                console.log(anArray[i]())
            }
            else{
                console.log(anArray[i])
            }
        }

        console.log("The date is : " + mDate)
        console.log("The function value is : " + aFunction())
    }
}

其中原文的代码段是这样的:

	property string mString: "www.it1995.cn"
    property int mInt: 88
    property bool isFemale: false
    property url mUrl: "http://www.it1995.cn"
    
    property var aNumber: 100
    property var aBool: true
    property var anotherString: String("#FF008800")
    property var aColor: Qt.rgba(0.2, 0.3, 0.4, 0.5)
    property var aRect: Qt.rect(17, 56, 46, 10)
    property var aPoint: Qt.point(10, 10)
    property var aSize: Qt.size(10, 10)
    property var aVector3d: Qt.vector3d(100, 100, 100)
    property var anArray: [1, 2, 3, "four", "five", (function(){ return "six" })]
    property var anObject: {"foo": 10, "bar": 20}
    property var aFunction: (function(){ return "Seven"; })
 
    property var aFont: Qt.font({family: "Consolas", pointSize: 30, bold: false})
    property date mDate: "2019-05-27"

有一堆的警告
在这里插入图片描述
我们可以看出,能制定具体类型的时候就指定,能提高一点点效率。

原文:https://blog.youkuaiyun.com/qq78442761/article/details/90604216

QML 笔记_1 QML基本学习 阅读详情

相关推荐

QT学习笔记-qml开发

鼠标区域悬停使能(hoverEnabled:false具有悬浮特性的事件不会被触发,例如:onContainsMouseChanged,onMouseXChanged)1.在 QML 中,可以通过信号和槽来实现元素之间的通信。1)添加图片和动图,以及子文件,实现控件的构造及析构,图片、动图的放大缩小以及倍数播放暂停。鼠标无动作:normal、鼠标按下:red_color、鼠标松开:blue_color。2.选择创建路径和项目名称(不能有中文),后面一直点击下一步到工程建立完成。透明度0.1-1、持续1s;

优快云5817的博客 3005

QML数据类型

QML默认支持一些基本类型,使用它们时不需要import语句。下面是QML语言提供的基本类型:

Y03977211367Y的博客 2951

[QML开发笔记]-QML阴影遮罩窗口

[QML开发笔记]-QML阴影遮罩窗口 QML阴影遮罩效果.来自官网示例中.可作为自定义消息提示窗口,有阴影遮罩效果。 效果: 代码: Dialog.qml import QtQuick 2.0 /** * @FileName Dialog.qml * @brief 阴影遮罩效果 * @author Kongdemin * @date 2020-05 */ Rectangle { id: root color: "transpare

Qt自定义控件及应用开发 1894

QML编程入门

欢迎来到声明式UI语言QML的世界.在本入门教程中,我们使用QML创建一个简单的文本编辑器.阅读这个教程后,就可以使用QML和Qt C++开发应用程序了. 安装 首先需要安装包含Qt Quick的Qt最新版本,现在是Qt4.7.安装教程包括安装说明书和不同平台的需求. Qt Quick包含一个叫做QML的声明式语言,Qt Declarative Module,和 QML Viewer

henreash的专栏 8万+

[QML开发笔记]-QML绘制仪表盘

[QML开发笔记]-QML绘制仪表盘 使用QML绘制仪表盘,主要是因为使用QPainter绘制控件绘制习惯了,使用QML也要绘制一个试试。总体感觉,QML绘制起来还是挺方便的,QML自带的仪表盘控件功能也挺强大,随后会使用QML自带的仪表盘进行开发使用。 效果: 代码: MyCircularGauge.qml import QtQuick 2.0 /** * @FileName My...

Qt自定义控件及应用开发 3616

第59篇 QML 之 JS类型转换为 Number 类型

parseFloat()函数可以把字符串转换成浮点数。可以用来转换任意数据类型。只会将字符串转换成整数。

Fanjufei的博客 743

QML入门(3)——基本数据类型介绍

QML基本数据类型介绍 参考资料 https://doc.qt.io/qt-5/qmlbasictypes.html 一、总体说明 QML有许多基本类型,例如整型int或字符串类型string,基本类型不能用于声明QML对象,例如不能声明 int{}对象或size{}对象。基本类型可用于定义: 1、单个值(例如,int 表示单个数字,var 可以指单个项目列表)2、包含一组简单的属性值对...

papership的博客 5558

QML基本元素和属性

任何知识,都有自己的体系架构,掌握了体系架构,按图索骥的去学习的效率要远高于漫无目的的学习。这里我参照QML的知识框架和一些问题来对QML进行系统的总结。问题列表如下: 1.QML是什么? 2.为什么使用QML? 3.QML的基本语法? 4.QML的元素都有哪些? 1.QML是什么? QML是Qt推出的Qt Quick技术的一部分,是一种用于描述用户界面的类似html的声明式语言。它将用户界面分解成一些更小的元素,这些元素能够结合成一个组件。这点类似于json结构,每个对象既有自己的行为和属性同

yang1fei2的博客 9573

QML学习笔记(七)QML的基本数据类型

本文介绍了QML基础数据类型的使用方法。主要内容包括:1)如何通过property关键字定义字符串、整型、布尔值等基本属性;2)在Rectangle组件中应用这些属性进行简单运算和赋值;3)使用var通用类型存储多种数据类型,包括数字、颜色、矩形、数组等;4)通过Component.onCompleted回调函数进行初始化后的日志输出和类型比较。文章通过具体代码示例展示了不同数据类型的应用场景和注意事项,并特别指出字符串比较时推荐使用===运算符以避免自动类型转换带来的问题。这些基础数据类型为QML应用程序

Larry_Yanan的博客 903

解决若依Vue3前后端分离---路由切换时显示白屏

解决基于Vue3若依前后端分离项目中出现的路由正常切换但是就是不显示数据的问题,也就是不发起网络请求的问题。

简单点的博客 1608

三相逆变器LCL滤波设计实战:从αβ转换到dq解耦控制的完整建模流程

本文详细解析了三相逆变器LCL滤波设计中的关键步骤,从αβ转换到dq解耦控制的完整建模流程。重点介绍了dq坐标系下的解耦控制策略,通过Simulink仿真验证模型准确性,并提供谐振峰偏移、解耦不彻底等实际问题的解决方案,助力电力电子工程师提升系统稳定性。

weixin_28678151的博客 230

QML学习笔记总结

这个博客是我记录我自学Qt5 的QML语言的时候一些总结和个人理解概述,也是这个专栏的置顶文章,主要的帮助链接基本在这个专栏内部,主要的参考资料就是Qt 官方的帮助文档,这个官方的帮助文档相当详细,总的来说,QML 学习的成本不大,学习入门也很简单,语法也很清晰,QML真的更加快速的描述这个界面相关的构建方法。这个博客也会持续更新,也作为学习阶段性总结的一个监督方式吧。

洪源兄 1万+

应用软件——Altium Designer 19 Gerber/坐标文件

如何输出Gerber文件 步骤如下: 打开需要输出的PCB文件 2. 设置原点坐标 3. 打开Gerber Files 选项,File–>Fabrication Opuputs–>Gerber Files。 4. General参数设置。 用于指定输出Gerber文件中使用的单位(Units)和格式(Format)。单位可以是公制(Millimeters)和英制(Inches);格式栏中2:3,2:4,2:5代表文件中使用的不同数据精度,其中2:3表示数据含2位整数3位小数;相应的,另外两个分

染血黑兔的博客 7206

QML笔记点滴

QML 的一些小内容: 1. 应用qrc资源中的QML文件 下面这段代码是不会正常工作的, QmlApplicationViewer viewer; viewer.setMainQmlFile(QLatin1String(":qml/main.qml"));因为在 QmlApplicationViewer::setMainQmlFile() 方法中实际执行了代码: d->v

LynFun的专栏 10000

SRC漏洞挖掘实战:从攻击面管理到业务逻辑漏洞的精准狩猎

在网络安全领域,漏洞挖掘是识别和利用软件系统中安全弱点的核心实践。其基本原理在于通过系统化的方法,识别和评估一个应用或系统的攻击面,并从中定位安全防护的薄弱环节。这项技术的价值在于能够主动发现潜在风险,防患于未然,对于保障企业数字资产安全至关重要。典型的应用场景包括对Web应用、移动端API以及各类在线业务系统的安全性评估。在实际的漏洞挖掘,尤其是针对安全应急响应中心(SRC)的实战中,高效的策略往往聚焦于**边缘资产**的发现与利用,以及对**业务逻辑漏洞**的模式化测试。掌握这些经过验证的思路,能帮助安

babing2770的博客 415

简易电梯控制系统设计(两层楼)(

(电子科技大学 数字系统实验二 结课验收项目 ) 题目要求:

m0_48801027的博客 1万+

QML笔记-QML中SpriteSequence及Sprite的基本使用

目录 背景 基本概念 博主例子 源码打包下载 背景 最近在研究一个稍微复杂的QML官方例子,里面有个SpriteSequence及Sprite知识点,我从来没有用过,这次特意花时间提取了出来,方便以后进行查阅。这个东西用来写游戏,或者xx软件的背景,或者xx动态效果,贼吉尔6!!! 基本概念 SpriteSequence及Sprite,用法和前端差不多,这里我只说...

IT1995的博客 5839

脑电信号处理实战 01 | 从 0 跑通第一个 EEG 分析:加载、滤波、频谱与“睁眼闭眼“

本文以 UCI 公开数据集"EEG Eye State"为例,从零走通脑电处理的完整流水线——数据加载、1–40 Hz 带通滤波、Welch 功率谱、频带功率、通道相关性与箱线图质控、睁闭眼对比和时频分析,并用 8 张科研风格图层层揭示这份数据中的伪迹与通道重复问题,说明"流程跑得通不等于结果可信,质量控制永远先行"。

qq_53529450的博客 119

QML笔记:QML基本概念及使用

QML笔记:QML基本概念及使用 Qt5中的Qt Qml和Qt Quick架构 Qt Qml模块本身并没有涉及图形显示,所有的图形处理都由Qt Quick模块完成。 Qt Quick 以QPA(Qt Platform Abstraction)为基础,之上经过了Qt Gui、Open GL和Scene Graph这3层封装。 示例 helloworld.pro: 项目文件.这个就是普通的Qt项目文件,其中指定程序使用的模块、源文件、资源文件等 main.cpp: 其中包含...

baidu_41388533的博客 5713

NVIDIA Isaac Sim 入门教程(二)

Omniverse Isaac Sim 的工作空间非常容易自定义。调整用户界面的大小、停靠、取消停靠、添加和移除面板都非常容易。进入顶部菜单栏,单击下拉菜单最下方的窗口 > 视口 > 视口 2(现在工作区中应该会出现一个名为 "视口 2 "的新视口。如果您想创建更多的视口,请按照相机检查器扩展进行操作。单击并拖动视口 2 的顶部标题以激活停靠部件。拖放到原始视口的右侧,将两个视口并排放置。单击并向左拖动视口 2 的左侧,使视口大小相等。

机器人控制与仿真应用 6547

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

QML Web笔记应用开发

QML语言简介QML语言简介QML(Qt Meta Language)是一种基于JavaScript的声明性语言,用于描述用户界面和应用程序的行为。QML与JavaScript一起构成了Qt Quick框架,使得开发人员能够以更为简洁和直观的方式创建动态的移动和Web应用程序。QML的特点声明性语法,QML使用声明性语法,使得代码更加简洁和易于理解。开发者只需描述应用程序应该是什么样子,而无需编写控制其行为的代码。组件化。

QT性能优化QT原理源码QT界面美化 2067

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

qml保姆级教程二:qml基本数据类型

qml基本数据类型,B bool C color coordinate D date double E enumeration F font G geocircle geopath geopolygon georectangle geoshape I int L list M matrix4x4 P palette point Q quaternion R real rect S size string U url V var variant vector2d vector3d vector4d

weixin_73548574的博客 1334

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

QML 基本类型

前言 QML 有许多基本类型,例如整型int或字符串类型string,这和 QML 对象类型形成对比,QML 对象类型是指具有属性、信号、方法等的对象,与对象类型不同的是,基本类型不能用于声明 QML 对象,例如不能声明 int{}对象或size{}对象。 基本类型可用于定义: 单个值(例如,int 表示单个数字,var 可以指单个项目列表) 包含一组简单的属性值对(例如size 包含 wid...

luoyayun361的专栏 3720

QML与C++之间的数据类型转换

在QML和C ++之间交换数据值时,它们将由QML引擎转换为具有适用于QML或C ++的正确数据类型。 这要求交换的数据具有引擎可识别的类型。 QML引擎为大量QT C++数据类型提供内置支持。此外,自定义C++类型可以注册到QML类型系统中,使它们可以用于引擎。 该页面讨论了QML引擎支持的数据类型以及如何在QML和C ++之间转换它们。 数据所有权 当数据从C ++传输到QML时,数据...

开软古剑楠 2360
上一篇: QML弹出多级菜单
下一篇: QML一个漂亮的仪表盘
hp_cpp
博客等级 码龄11年 310粉丝 218原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值