Char到QString

时间:2013-01-11 02:33:07

标签: c++ qt qstring

我有一个char数组,想要将其中一个值从char转换为qstring:

unsigned char inBuffer[64];

....
QString str= QString(*inBuffer[1]);
ui->counter->setText(str);

这不起作用(我收到编译错误)。有什么建议吗?

4 个答案:

答案 0 :(得分:5)

请检查http://qt-project.org/doc/qt-4.8/qstring.html

QString &   operator+= ( char ch )

QString &   operator= ( char ch )

您可以使用operator + =附加char或operator =来指定char。

但是在你的代码中它将调用构造函数,而不是operator =。没有char的构造函数,所以你的代码无法编译。

QString str;
str = inBuffer[1];

QString有一个构造函数

QString ( QChar ch )

所以你可以使用以下代码来做到这一点

QString str= QChar(inBuffer[1]);

QString str(QChar(inBuffer[1]));

答案 1 :(得分:1)

你是如何宣布 inBuffer 的?如果您的意思是 outBuffer ,请删除取消引用运算符:

QString str = outBuffer[1];

答案 2 :(得分:1)

这是最简单的方法:

QString x="";
QChar y='a';

x+=y;

所以这里有一个带有char的QString。

答案 3 :(得分:0)

如果你的变量是:char * p = "hi there";

你只是QString myGreet = QString::fromLocal8Bit(p);