如何分配和更改 QString 的值?

How to assign and change the value of a QString?

我想知道如何分配和更改 QString 变量的值。如果我想将 QString 值分配为 0,我该怎么做?

重要的是要注意 0 是一个整数,而 QString 是一个......好吧 QString。我假设您希望先将 转换 0 为字符串,然后将其分配给 QString。有几种方法可以做到这一点,最简单的就是这样做:

QString s = "0";

如果您尝试将 int 变量分配给字符串,您可以这样做:

int i = 0;
QString s("%1").arg(i);

第一个 arg 调用中的参数将填充 %1 的位置,第二个 arg 调用将填充 %2 的值,等等。arg 将转换int 到一个字符串。

要稍后更改您可以执行的值:

QString s = "0";
s = "This value has changed to something else";

您可以按如下方式将任何字符串分配给 QString。

QString a="this is a string";
QString b="250"; //though this is a number it is in a string format now in the variable b

如果要拿来计算,就需要换算。只需将其转换为 int:

int i;
i=b.toInt(); // i holds the integer 250 now.

进行计算并将其转换回字符串,然后再将其显示在标签或其他内容中:

i=(i*5)+650; //just a calculation.
a=QString::Number(i); // now i is converted to a string and assigned to a

简单的在一个QLabel中显示如下:

ui->label->setText(a);