QString的不常见用法

111 篇文章 9 订阅
QString str("Hello");

QString str = "Hello";

static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
QString str(data, 4);

QString str;
str.resize(4);

str[0] = QChar('U');
str[1] = QChar('n');
str[2] = QChar(0x10e3);
str[3] = QChar(0x03a3);

QString str;
str.sprintf("%s %.3f", "float", 3.1415926);
//str结果是"float 3.14"

QString str;
str.setNum(10); //str = "10"
str.setNum(10, 16); //str = "a"
str.setNum(10.12345); //str = "10.12345"

QString i; // current file's number
QString total; // number of files to process
QString fileName; // current file's name

QString status = QString("Processing file %1 of %2: %3")
.arg(i).arg(total).arg(fileName);

1)char *初始化

  QString str = "Hello";
  QString converts the const char * data into Unicode using the fromAscii() function. 

2)QChar[]数组初始化

static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };  
QString str(data, 4);  
QRegExp pattern;  
static const QChar unicode[] = { 0x005A, 0x007F, 0x00A4, 0x0060,  
0x1009, 0x0020, 0x0020};  
int size = sizeof(unicode) / sizeof(QChar);  
QString str = QString::fromRawData(unicode, size);  

3)还可以通过risize()函数和每个QChar字符进行初始化

QString str;  
str.resize(4);  
  
str[0] = QChar('U');  
str[1] = QChar('n');  
str[2] = QChar(0x10e3);  
str[3] = QChar(0x03a3);  

通过at()函数进行每个字符读取

QString str;  
  
 for (int i = 0; i < str.size(); ++i) {  
     if (str.at(i) >= QChar('a') && str.at(i) <= QChar('f'))  
         qDebug() << "Found character in range [a-f]";  
 }  

参考:

https://www.yuque.com/docs/share/d640d1e2-d750-4dde-ba52-c7f09f86d001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值