QChar 16位字符
QString 16为字符串,是QChar的向量
char c语言里面的字符
char* c语言里面的字符串
QString类重载了‘+’ ‘+=’运算符,因此可进行如下操作
QString str = "User: " ;
str += userName + "/n" ;
与此功能相同的是函数append()
str = "User: " ;
str.append(userName);
str.append("/n" );
C语言中有printf()函数作为格式化输出,QString则提供了一个sprintf()函数实现了相同的功能:
str.sprintf("%s %.1f%%" , "perfect competition" , 100.0);
这句代码将输出:perfect competition 100.0%,同C语言的printf()一样。不过前面我们也见到了Qt提供的另一种格式化字符串输出的函数arg():
str = QString("%1 %2 (%3s-%4s)" )
.arg("permissive" ).arg("society" ).arg(1950).arg(1970);
这段代码中,%1, %2, %3, %4作为占位符,将被后面的arg()函数中的内容依次替换,比如%1将被替换成permissive,%2将被替换成society,%3将被替换成 1950,%4将被替换曾1970,最后,这句代码输出为:permissive society (1950s-1970s). arg()函数比起sprintf()来是类型安全的,同时它也接受多种的数据类型作为参数,因此建议使用arg()函数而不是传统的 sprintf()。
使用static的函数number()可以把数字转换成字符串。
QString str = QString::number(54.3);
你也可以使用非static函数setNum()来实现相同的目的:
QString str;
str.setNum(54.3);