qml中的一些常用技巧
1.判断操作系统
直接使用Qt.platform.os就可以,这是一个只读的属性,可以直接获取当前的操作系统,取值如下:
"android" - Android
"ios" - iOS
"tvos" - tvOS
"linux" - Linux
"osx" - macOS
"qnx" - QNX (since Qt 5.9.3)
"unix" - Other Unix-based OS
"windows" - Windows
"wasm" - WebAssembly
2.获取可执行文件路径
笔者不建议在qml中获取,若需要,可以使用如下方法
var exePath = Qt.application.arguments[0];
if (Qt.platform.os === "windows" || Qt.platform.os==="winrt") {
var appPath = exePath.substring(0,exePath.lastIndexOf('\\'))
console.log("====================",appPath)
}else{
appPath = exePath.substring(0,exePath.lastIndexOf('/'))
console.log("====================",appPath)
}
说白了,就是从运行命令中获取的,不同操作系统下还有差异
3.序列化时间字符串
为了获取如yyyy-MM-dd格式的时间字符串,有不少小伙伴采用的是使用js一点点拼出来的,但qml中有Qt.formatDate()或Qt.formatDateTime()可以直接做到
4.md5
若是可以,笔者也不建议使用md5了,字典破解太多了。在qml中,可以直接使用Qt.md5()来得到对应字符串
5.使用默认程序打开对应文件
直接使用Qt.openUrlExternally()就可以,可以根据返回值判断调用成功与否