QString 怎么格式化字符串
时间: 2023-08-08 13:12:50 浏览: 154
在 Qt 中,可以使用 QString::arg() 函数来格式化字符串。该函数接受一个或多个参数,并将其插入到字符串中的占位符中。
示例代码:
```
QString name = "Alice";
int age = 30;
QString message = QString("My name is %1 and I am %2 years old.").arg(name).arg(age);
```
在上面的代码中,%1 和 %2 是占位符,arg() 函数会按照顺序将 name 和 age 插入到占位符中,生成最终的字符串 message。
还可以使用类似 printf() 的格式字符串来格式化字符串,例如:
```
int x = 123;
QString message = QString("The value of x is %1, in hex is 0x%1").arg(x, 0, 10).arg(x, 0, 16);
```
在这个例子中,%1 出现了两次,第一个 %1 通过第二个参数 "0, 10" 指定了输出格式,表示输出一个占用至少 10 个字符宽度的整数,不足的地方用 0 填充。第二个 %1 通过第二个参数 "0, 16" 指定了输出格式,表示输出一个占用至少 16 个字符宽度的整数的十六进制表示,不足的地方用 0 填充。最终生成的字符串 message 为 "The value of x is 123, in hex is 0x0000007b"。
相关问题
QString 格式化 ,整形8 为 08字符串
可以使用QString的arg()函数来进行格式化输出,其中%表示占位符,后面的数字表示输出的宽度,0表示使用0填充,d表示整型。
例如,将整数num格式化为8位宽度的字符串,不够的用0填充,可以使用以下代码:
```cpp
int num = 1234;
QString str = QString("%1").arg(num, 8, 10, QLatin1Char('0'));
```
其中,arg()函数的第一个参数是要格式化的值,第二个参数是输出的宽度,第三个参数是进制,第四个参数是填充字符,这里使用QLatin1Char('0')表示使用字符'0'进行填充。
输出的字符串为"00001234"。
QMessageBox怎样显示格式化字符串
你可以使用 `QMessageBox::information()`、`QMessageBox::warning()` 或 `QMessageBox::critical()` 等静态函数来显示格式化字符串。
下面是一个示例代码,展示了如何使用 `QMessageBox::information()` 来显示格式化字符串:
```cpp
QString message = QString("Hello, %1!").arg("C知道");
QMessageBox::information(nullptr, "提示", message);
```
在上述代码中,`QString::arg()` 函数用于格式化字符串,将 `%1` 替换为字符串 "C知道"。然后,用 `QMessageBox::information()` 函数显示一个提示框,第一个参数为父窗口指针(这里使用 nullptr 表示没有父窗口),第二个参数为对话框标题,第三个参数为要显示的消息文本。
你可以根据需要选择使用不同的 `QMessageBox` 静态函数,以适应不同的消息类型。