Char to QString

У меня есть массив char и я хочу преобразовать одно из значений из char в qstring:

unsigned char inBuffer[64];

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

Это не работает (я получаю ошибку компилятора). Какие-либо предложения?

5

Решение

пожалуйста, проверьте http://qt-project.org/doc/qt-4.8/qstring.html

QString &   operator+= ( char ch )

QString &   operator= ( char ch )

Вы можете использовать оператор + = для добавления символа или оператор = для назначения символа.

Но в вашем коде он будет вызывать конструктор, а не оператор =. Для char нет конструктора, поэтому ваш код не может быть скомпилирован.

QString str;
str = inBuffer[1];

QString имеет конструктор

QString ( QChar ch )

Так что вы можете использовать следующий код, чтобы сделать это

QString str= QChar(inBuffer[1]);

или же

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

Другие решения

Как вы объявили InBuffer? Если бы вы имели в виду outBuffer, удалите оператор разыменования:

QString str = outBuffer[1];
1

Это самый простой способ сделать это:

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

x+=y;

Итак, у вас есть QString с символом.

1
По вопросам рекламы [email protected]