У меня есть массив char и я хочу преобразовать одно из значений из char в qstring:
unsigned char inBuffer[64];
....
QString str= QString(*inBuffer[1]);
ui->counter->setText(str);
Это не работает (я получаю ошибку компилятора). Какие-либо предложения?
пожалуйста, проверьте 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]));
Как вы объявили InBuffer? Если бы вы имели в виду outBuffer, удалите оператор разыменования:
QString str = outBuffer[1];
Это самый простой способ сделать это:
QString x="";
QChar y='a';
x+=y;
Итак, у вас есть QString с символом.