将bool转换为QString

Jjr*_*ina 21 c++ qt

我想将bool转换为QString.

什么是最有效的方法?这是我的代码,但确定还有其他更好的方法.

bool test = true;
test ? "1" : "0";
Run Code Online (Sandbox Code Playgroud)

谢谢.

tmp*_*rce 46

您可以使用静态QString::number方法 - 将bool隐式转换为int以匹配静态工厂方法的整数形式,该方法返回QString包含01.

bool test = true;
QString s = QString::number(test);
Run Code Online (Sandbox Code Playgroud)


Mub*_*yer 11

qDebug()将bool变量显示为"true"或"false".如果你想得到这样一个字符串,你可以稍微改变你的代码:

bool test = true;
QString boolText = test ? "true" : "false";
Run Code Online (Sandbox Code Playgroud)


Ric*_*chy 5

使用QVariant!

从布尔到QString:

   bool bInput = false;
   QString s = QVariant(bInput).toString();
Run Code Online (Sandbox Code Playgroud)

从QString到bool:

  QString s = "true";
  bool bInUse = QVariant(s).toBool();    
Run Code Online (Sandbox Code Playgroud)