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

QML 字符串格式化

在 QML 中,处理字符串格式化有多种方法,以下是常用的字符串格式化函数和技巧:

1. 基本字符串连接

qml

var str = "Hello, " + "QML!";  // 简单连接
var name = "Alice";
var greeting = `Hello, ${name}`;  // 模板字符串(ES6语法)

2. String 对象方法

QML 支持 JavaScript 的所有字符串方法:

qml

// 转换大小写
"hello".toUpperCase()  // "HELLO"
"HELLO".toLowerCase()  // "hello"// 去除空格
"  hello  ".trim()     // "hello"// 字符串长度
"hello".length         // 5// 获取子字符串
"hello".substring(1, 3) // "el"// 查找和替换
"hello".indexOf("l")    // 2
"hello".replace("l", "x") // "hexlo"

3. 数字格式化

使用 Number 方法

qml

var num = 123.456;
num.toFixed(2)      // "123.46" (保留2位小数)
num.toPrecision(4)  // "123.5"  (4位有效数字)

使用 Qt.formatNumber()

qml

import QtQuick 2.15Text {text: Qt.formatNumber(1234.567, 2)  // "1,234.57" (本地化格式)
}

4. 日期时间格式化

如前面所述,使用:

qml

Qt.formatDateTime(date, format)
Qt.formatDate(date, format)
Qt.formatTime(date, format)

5. qsTr() 国际化翻译

qml

Text {text: qsTr("Hello World")  // 可翻译字符串
}

6. String.arg() 参数替换

Qt 提供了类似 C++ 的格式化方式:

qml

Text {text: "%1 %2".arg("Hello").arg(123)  // "Hello 123"
}

支持的功能

  • 位置参数 (%1%2 等)

  • 字段宽度和精度 (%1.2f)

  • 进制转换 (%x 十六进制, %o 八进制)

7. 正则表达式

qml

var regex = /(\d+)/g;
var matches = "abc123def456".match(regex);  // ["123", "456"]

8. JSON 格式化

qml

var obj = {name: "Alice", age: 25};
var jsonStr = JSON.stringify(obj);  // 转为JSON字符串
var newObj = JSON.parse(jsonStr);   // 解析JSON

9. 自定义格式化函数

可以创建自己的格式化工具函数:

qml

function formatPrice(value) {return "$" + value.toFixed(2);
}Text {text: formatPrice(12.5)  // "$12.50"
}

相关文章:

  • Matplotlib的应用
  • Matlab FCM模糊聚类
  • SmolVLM2: The Smollest Video Model Ever(五)
  • 2020 年 7 月大学英语四级考试真题(组合卷)——解析版
  • String +memset字符串类题型【C++】
  • c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第六式】文件操作
  • 聚宽策略----国九条后中小板微盘小改,年化135.40%
  • HttpClient
  • Vue3集成Element Plus完整指南:从安装到主题定制上
  • 【深度学习入门_NLP自然语言处理】序章
  • C++初阶-类和对象(中)
  • Scratch——第18课 列表接龙问题
  • deep-share开源浏览器扩展,用于分享 DeepSeek 对话,使用户能够将对话内容保存为图片或文本以便轻松分享
  • 2025第十六届蓝桥杯python B组满分题解(详细)
  • chmod,chown命令
  • 【Linux】vim配置----超详细
  • CTGAN 合成数据生成与验证脚本学习笔记
  • 从巅峰到谷底:搜狐的27年沉浮启示录
  • 清醒思考的艺术
  • 算法导论思考题
  • 我国自主研制的重大航空装备AG600性能怎样?专家解读
  • 义乌女老板对CNN霸气喊话:美国要货就给,不要就分给其他客户
  • 思南读书会500期了,这是上海最具温度的阅读文化样本
  • 新疆维吾尔自治区政协原副主席窦万贵一审被控受贿超2.29亿
  • 华夏银行去年净赚超276亿增近5%,个人贷款不良率升至1.8%
  • 天津博物馆五一开展,八省文物呈现北朝风貌