我想把bool类型转换为QString类型。
最有效的方法是什么?这是我的代码,但肯定有其他更好的方法。
bool test = true;
test ? "1" : "0";
感谢。
您可以使用静态的QString::number
方法 - 布尔值将被隐式转换为整数以匹配静态工厂方法的整数形式,该方法返回一个包含0
或1
的QString
对象。
bool test = true;
QString s = QString::number(test);
使用 QVariant!
从 bool 到 QString:
bool bInput = false;
QString s = QVariant(bInput).toString();
从QString到bool:
QString s = "true";
bool bInUse = QVariant(s).toBool();
qDebug()会把布尔变量显示为"true"或"false"。如果你想得到这样一个字符串,可以稍微修改一下你的代码:
qDebug()将bool变量显示为字符串"true"或"false"。如果您想要获得此类字符串,可以对代码进行小幅修改:
bool test = true;
QString boolText = test ? "true" : "false";
bool test = true;
QString s = QVariant(test).toString();
这将返回“true”或“false”,并在Qt翻译的qtbase_xx.qm中进行国际化。
QString(test ? "1" : "0")
吗? - Fred Foo