Qt中QString的arg()函式使用記錄

2021-10-06 17:05:36 字數 2143 閱讀 5595

qstring::

arg(

)//是用字串變數引數依次替代字串中最小數值

大致有如下3種用法:

(1)arg(str1, str2, str3)

其中一次可替換引數個數最多為9個,舉例如下

qstring str =

qstring

("%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11").

arg(

"1",

"2",

"3",

"4",

"5",

"6",

"7",

"8",

"9")

輸出為"1 2 3 4 5 6 7 8 9 %10 %11"

要想全部替換,只需要接在後面繼續使用乙個.arg(「10」,「11」)即可

也就是第二種方式

qstring str =

qstring

("%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11").

arg(

"1",

"2",

"3",

"4",

"5",

"6",

"7",

"8",

"9")

.arg

("10"

,"11"

)

(2)arg(str1).arg(str2).arg(str3)

與第一種方式類似,需要注意的是替換的順序是按照引數"1%",「2%」,「3%」,「4%」…的***從小到大的順序***依次替換。舉例如下:

str =

qstring

("%1%2").

arg(

"hello").

arg(

"world"

)

輸出為"helloworld"

str =

qstring

("%1%2").

arg(

"%1world").

arg(

"hello"

);

輸出:「helloworld%2」

str =

qstring

("%1%2").

arg(

"%2world").

arg(

"hello"

);

輸出:「helloworldhello」

str =

qstring

("%1%2").

arg(

"%3world").

arg(

"hello"

);

輸出:"%3worldhello"

str =

qstring

("%1%2").

arg(

"%4world").

arg(

"hello"

);

輸出:"%4worldhello"

str =

qstring

("%-1%2").

arg(

"%4world").

arg(

"hello"

);

輸出:"%-1helloworld"

(3)arg(int, int, int)

第乙個int引數表示要處理的數字,第二個int引數表示字寬,第三個int引數表示數字基數(進製數)。舉例如下:

str =

qstring

("十進位制100的十進位制為%1").

arg(

100,0,

10);

輸出:「十進位制100的十進位制為100」

str =

qstring

("十進位制100的十六進製制為%1").

arg(

100,0,

16);

輸出:「十進位制100的十六進製制為64」

QT學習 QString的arg方法

自 在qt的qstring中,arg方法類似於c中的printf中使用的格式輸出符 只是有點類似 在qt5的幫助文件中,有如下幾種用法 使用arg str1,str2,str3 這種方法進行替換。使用arg str1 arg str2 arg str3 這種方法進行替換。使用arg int,int,...

Qt使用QString中arg導致程式閃退

最近專案外面反饋程式出現閃退問題,根據一步步除錯,發現在記錄日誌中導致,之前 是從其他地方拷貝,修改部分地方沒注意.報錯 qstring strlog qstring 超標留樣 留樣瓶號為 1 arg strlog arg m pcyq getbottlenum 原本定義為 qstring strl...

QT中 arg的用法

1 用於填充字串中的 1,2 為給定的引數,如 qstring x 0 qstring y 1 qstring z 2 qstring status qstring number 1 2 3 arg x arg y arg z 結果 number 012 2 qstring arg int a,in...