我有一个char数组,想要将其中一个值从char转换为qstring:
unsigned char inBuffer[64];
....
QString str= QString(*inBuffer[1]);
ui->counter->setText(str);
这不起作用(我收到编译错误)。有什么建议吗?
答案 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);