QString 类

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);  

你可能感兴趣的:(C语言,qt)