用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。
注:学习有误的望指点一二,不喜勿喷!!!
QML Date扩展了JavaScript Date Object相应的功能函数。
语言环境格式枚举包含以下:(语言环境locale是由ANSI C提供支持,命名规则为语言_地域.字符集,如:zh_CN.GBK,z代表中文,CH代表大陆地区,GBK表示字符集)
或者通过设置字符串格式:
| 格式 | 输出 |
|---|---|
| d | 日期数字,不带前置零(1到31) |
| dd | 日期数字,带前置零(01到31) |
| ddd | 简化版本地日期名称(Mon-Sun) |
| dddd | 全拼本地日期名称(Monday-Sunday) |
| M | 月数,不带前置零(1到12) |
| MM | 月数,带前置零(01到12) |
| MMM | 简化版本地月数(Jan-Dec) |
| MMMM | 全拼版本地月数(January-December) |
| y | 后两位数的年份 |
| yyyy | 四位数的年份 |
所有其他输入的字符都将被忽略。用单引号引起来的任何字符都将视为普通文本,而在输出中,两个连续的单引号会被一个单引号替换。
字符串格式示例:(2020年7月10日)
| 格式 | 输出 |
|---|---|
| dd.MM.yyyy | 10.07.2020 |
| ddd MMMM d yy | Fri July 10 20 |
| ‘The day is’ dddd | The day is Friday |
时间格式化表达式:
| 表达式 | 输出 |
|---|---|
| h | 不带前置零的时(如果显示AM/PM,则为0-23或者1-12) |
| hh | 带前置零的时(如果显示AM/PM,则为00-23或者01-12) |
| H | 不带前置零的时(0-23) |
| HH | 带前置零的时(00-23) |
| m | 不带前置零的分(0-59) |
| mm | 带前置零的分(00-59) |
| s | 不带前置零的秒(0-59) |
| ss | 带前置零的秒(00-59) |
| z | 不带前置零的毫秒数(0-999) |
| zzz | 带前置零的毫秒数(000-999) |
| AP or A | 区分上下午,AP将被"AM"或“PM”替换 |
| ap or a | 区分上下午,ap将被“am”或“pm”替换 |
| t | 时区(例如“CEST”) |
时间格式字符串示例:
| 格式 | 输出 |
|---|---|
| hh:mm:ss.zzz | 14:13:09.042 |
| hⓂ️s ap | 2:13:9 pm |
| HⓂ️s a | 14:13:9 pm |
如果日期无效,则返回一个空字符串
import QtQml 2.0
QtObject {{
property var locale: property var locale: Qt.locale()()
property date currentDate: property date currentDate: new Date()Date()
property string dateStringproperty string dateString
ComponentComponent.onCompleted: {: {
dateString = currentDate.toLocaleDateString();();
print(Dateprint(Date.fromLocaleDateString(dateString));(dateString));
}}
}}
import QtQml 2.0
QtObject {{
property var locale: property var locale: Qt.locale()()
property string dateTimeString: property string dateTimeString: "Tue 2013-09-17 10:56:06"
ComponentComponent.onCompleted: {: {
print(Dateprint(Date.fromLocaleString(locale(locale, dateTimeString, "ddd yyyy-MM-dd hh:mm:ss"));
}}
}}
import QtQml 2.2
QtObject {{
property var locale: Qt.locale()
property date currentTime: new Date()
property string timeString
Component.onCompleted: {
timeString = currentTime.toLocaleTimeString(locale, Locale.ShortFormat);
print(Date.fromLocaleTimeString(locale, timeString, Locale.ShortFormat));
}
}
property string selectedTimeZone
onSelectedTimeZoneChanged: {
MyFunctions.setSystemTimeZone(selectedTimeZone)
Date.timeZoneUpdated()
}
import QtQuick 2.0
Text {
text: "The date is: " + new Date().toLocaleDateString(Qt.locale("de_DE"))
}
import QtQuick 2.0
Text {
text: "The date is: " + new Date().toLocaleString(Qt.locale("de_DE"))
}
import QtQuick 2.0
Text {
text: "The date is: " + new Date().toLocaleTimeString(Qt.locale("de_DE"))
}
带小数点的数字。 实型是指带小数点的数字,例如 1.2或-29.8。 例: 注意:在QML中,所有实数都以双精度IEEE浮点格式存储。...
具有x和y属性的值。 点类型是指具有x和y属性的值。 要创建点值,请将其指定为“ x,y”字符串: 或使用Qt.point()函数: 与C ++集成时,请注意,从C ++传递到QML的任何QPoint或QPointF值都会自动转换为点值。 将点值传递给C ++时,它会自动转换为QPointF值。...
调色板。 调色板类型是指各种角色的颜色调色板。 可用属性:...
QML对象列表。 列表类型是指QML对象的列表。 可以通过类似于JavaScript数组的方式访问列表值: 使用[]方括号语法和逗号分隔值来分配值 length属性提供列表中的项目数 使用[index]语法访问列表中的值 可以使用push方法将值动态添加到列表中,就像它是JavaScript数组一样 列表只能存储QML对象,并且不能包含任何基本类型值。 (要在列表中存储基本类型,请改用var类型。...
整数,例如 0、10或-20。 int类型是指整数,例如 0、10或-20。 可能的int值范围从-2000000000到2000000000左右,尽管大多数类型将只接受减小的范围 例:...
几何形状类型代表抽象地理区域。 此类型是QGeoShape的QML表示形式,它是一个抽象的地理区域。 它包括所有地理区域共有的属性和方法。 要创建代表有效地理区域的对象,请使用georectangle或geocircle。 isValid属性可用于测试地理形状是否表示有效的地理区域。 isEmpty属性可用于测试几何形状是否表示几何区域为0的区域。 contains()方法可用于测试坐标是否在几何...
通用属性类型。 变量类型是通用属性类型。它已过时,仅用于支持旧应用程序。新应用程序应改用var类型属性。 变量类型属性可以保存任何基本类型值: 与C ++集成时,请注意,从C ++传递到QML的任何QVariant值都会自动转换为变量值,反之亦然。 将稀缺资源与变体类型一起使用 变体类型属性也可以保存图像或像素图。包含QPixmap或QImage的变体被称为“稀缺资源”,声...
通用属性类型。 var类型是通用属性类型,可以引用任何数据类型。 它等效于常规JavaScript变量。 例如,var属性可以存储数字,字符串,对象,数组和函数: 变更通知语义 重要的是要注意,分配给var属性的JavaScript对象的常规属性中的更改不会触发访问它们的绑定的更新。 下面的示例将显示“汽车有4个车轮”,因为车轮属性的更改不会导致重新评估分配给“...
资源定位器。 url类型引用资源定位符(例如,文件名)。 它可以是绝对的,例如 “ http://qt-project.org”或相对名称,例如 “ pics / logo.png”。 相对URL相对于包含组件的URL进行解析。 例如,以下内容将有效的URL分配给Image :: source属性,其类型为url: 当相对URL写入url type属...
自由格式的文本字符串。 字符串类型是指带引号的自由格式文本字符串,例如 “你好,世界!”。 例: 字符串具有一个length属性,该属性保存字符串中的字符数。 QML使用arg()函数扩展了JavaScript String类型,以支持值替换。 与C ++集成时,请注意,从C ++传递到QML的任何QString值都会自动转换为字符串值,反之亦然。...