6.QML中的JavaScript(4)- 对象2

原创
2022-12-01
4630
1

1. Math

Math对象用来执行数学对象,它是一个全局对象,下面介绍一下Math的属性和方法。

Math有下列属性:

  • E: 算数常量e,即自然对数的底数(约等于2.718)
  • LN2: 2的自然对数(约等于0.693)
  • LN10: 10的自然对数(约等于2.302)
  • LOG2E: 以2为底的e的对数(约等于1.442)
  • LOG10E: 以10为底e的对数(约等于0.434)
  • PI: 圆周率(约等于3.14159)
  • SQRT1_2: 2的平方根的倒数(约等于0.707)
  • SQRT2: 2的平方根(约等于1.414)

Math有下列方法

  • abs(x), 返回x的绝对值
  • acos(x), 返回x的反余弦值
  • asin(x), 返回x的反正弦值
  • atan(x), 返回x的反正切值
  • atan2(y, x), 返回从x轴到点(x, y)的角度,返回值在-PI和PI之间的弧度
  • ceil(x), 对x进行上舍入
  • cos(x), 返回x的余弦值
  • exp(x), 返回e的x次幂
  • floor(x), 对x的下舍人
  • log(x), 以e为底的自然对数
  • max(x, y), 返回x和y中的最大值
  • min(x, y), 返回x和y中的最小值
  • pow(x, y), 返回x的y次幂
  • random(), 返回0~1之间的随机数
  • round(x), 把x四舍五入为最接近的整数
  • sin(x), 返回数的正弦值
  • sqrt(x), 返回数的平方根
  • tan(x), 返回数的正切值
  • valueOf(), 返回Math对象的原始值

2. Date

Date对象用于处理日期和时间。
你可以这样创建一个Date对象:

var today = new Date()

当使用无构造参数的Date对象,该对象会自动把当前的日期和时间保存为初始值。也可以使用下面的方法创建

var day1 = new Date("2018-07-09T22:25:00")
var day2 = new Date(2018, 7, 9)
var day3 = new Date(2018, 7, 9, 22, 25, 0)

下面方法可以从Date对象获取信息的方法:

  • getDate(), 返回一个月中的某一天(1~31)
  • getDay(), 返回一周中的某一天(0~6)
  • getMonth(), 返回月份(0~11)
  • getFullYear(), 返回四位数年份
  • getHours(), 返回小时(0~23)
  • getMinutes(), 返回分钟(0~59)
  • getSeconds(), 返回秒数(0~59)
  • getMilliseconds(), 返回毫秒数(0~999)
  • getTime(), 返回从1970年1月1日到现在的毫秒数
  • toString(), 把日期转换为本地字符串

下面方法可以设置Date对象的相关信息:

  • setDate(), 设置月的1天(0~31)
  • setMonth(), 设置月份(0~11)
  • setFullYear(), 设置4位数字年份
  • setHours(), 设置小时(0~23)
  • setMinutes(), 设置分钟(0~59)
  • setSeconds(), 设置秒钟(0~59)
  • setMilliseconds(), 设置毫秒(0~999)
  • setTime(), 以1970年1月1号至今的毫秒数设置Date

Date还有一些静态方法,不需要Date对象的创建

  • Date.now(), 返回从1970年1月1日至今的毫秒数
  • Date.parse(), 解析一个时间字符春,返回那个时间至1970年1月1日的毫秒数
  • Date.UTC(),解析UTC时间

3. Qt的常用方法

3.1 用于创建宿主类型
  • Qt.rect(), 创建rect实例
  • Qt.point(), 创建point实例
  • Qt.size(), 创建size实例
  • Qt.rgba()、Qt.hsla()、Qt.darker()、Qt.lighter()、Qt.tint()创建color类型的颜色值
  • Qt.font(), 创建字体
  • Qt.vector2d(), 创建vector2d
  • Qt.vector3d(), 创建vector3d
  • Qt.vector4d(), 创建vector4d
  • Qt.quaternion(), 创建quaternion
  • Qt.matrix4x4(), 创建matrix4x4

3.2 格式化日期和时间
  • string Qt.formatDateTime(datetime date, variant format)
  • string Qt.formatDate(datetime date, variant format)
  • string Qt.formatTime(datetime date, variant format)

下面是一个简单的示例:

var date = new Date
var dateString = Qt.formatDateTime(date, 'yyyy-MM-dd hh:mm:ss')
console.log(dateString)

输出结果:
qml: 2018-07-09 22:50:15


3.3 动态对象创建
  • object Qt.crateComponent(url)
  • object Qt.createQmlObject(string qml, object parent, string filepath)

3.4 其他方法
  • Qt.qute(), 退出应用
  • string Qt.md5(string), 计算字符串的MD5值,返回的也是字符串
  • string Qt.btoa(string), 对传入的数据做Base64编码,返回编码后的字符串
  • string Qt.atob(string), 解码传入的Base64编码过的字符串,返回解码后的字符串
  • object Qt.binding(function), 为一个JS表达式创建一个对象,用于绑定到QML对象的某个属性值
  • object Qt.locale(), 返回指定名字的区域对象,不给参数就返回默认的区域对象。
  • string Qt.resolvedUrl(), 将传入的相对路径转换为全路径URL
不会飞的纸飞机
扫一扫二维码,了解我的更多动态。

下一篇文章:7.QML中的信号和信号处理