1.str = QString("%1 %2 (%3s-%4s)").arg("permissive").arg("society").arg(1950).arg(1970);
這 段代碼中,%1, %2, %3, %4作為占位符,將被后面的arg()函數(shù)中的內(nèi)容依次替換,
比如%1將被替換成permissive,%2將被替換成society,%3將被替換成 1950,%4將被替
換曾1970,最后,這句代碼輸出為:permissive society (1950s-1970s). arg()函數(shù)比起
sprintf()來是類型安全的,同時它也接受多種的數(shù)據(jù)類型作為參數(shù),因此建議使用arg()
函數(shù)而不是傳統(tǒng)的 sprintf()。
2.增加時可以“+”可以append.
3.使用static的函數(shù)number()可以把數(shù)字轉(zhuǎn)換成字符串。例如:QString str = QString::number(54.3);
你也可以使用非static函數(shù)setNum()來實現(xiàn) 相同的目的:
QString str;
str.setNum(54.3);
4.一系列的to函數(shù)則可以將字符串轉(zhuǎn)換成其他基本類型,例如toInt(), toDouble(),
toLong()等。這些函數(shù)都接受一個bool指針作為參數(shù),函數(shù)結(jié)束之后將根據(jù)是否轉(zhuǎn)換成功設(shè)
置為true或者false:
5.函數(shù)startsWith()和endsWith()可以檢測字符 串是不是以某個特定的串開始或結(jié)尾。
6.QString還提供了replace()函數(shù)供實現(xiàn)字符串的 替換功能;trimmed()函數(shù)去除字符串兩側(cè)的空白字符(注意,空白字符包括空格、Tab 以及換行符,而不僅僅是空格);toLower()和 toUpper()函數(shù)會將字符串轉(zhuǎn)換成小寫大寫字符串;remove()和 insert()函數(shù)
提供了刪除和插入字符串的能力;simplified()函數(shù)可以將串中的所有連續(xù)的空白字符替換成一個,并且把兩端的空白字符去 除,例如" \t ”會返回一個空格" "。
7.將const char *類型的C 風格字符串轉(zhuǎn)換成QString 也是很常見的需求,簡單來說,QString 的+=即可完成這個功能:
str += " (1870)";
QString 轉(zhuǎn) char*:str.toAscii().data();或qPrintable(str);