8

char配列があり、値の1つをcharからqstringに変換したいと思います。

unsigned char inBuffer[64];

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

これは機能していません(コンパイラエラーが発生します)。助言がありますか?

4

4 に答える 4

7

http://qt-project.org/doc/qt-4.8/qstring.htmlを確認してください

QString &   operator+= ( char ch )

QString &   operator= ( char ch )

operator+= を使用して文字を追加するか、operator= を使用して文字を割り当てることができます。

ただし、コードでは operator= ではなくコンストラクターを呼び出します。char のコンストラクターがないため、コードをコンパイルできません。

QString str;
str = inBuffer[1];

QString にはコンストラクターがあります

QString ( QChar ch )

したがって、次のコードを使用してそれを行うことができます

QString str= QChar(inBuffer[1]);

また

QString str(QChar(inBuffer[1]));
于 2013-01-11T02:40:57.987 に答える
2

あなたの変数が次の場合:char * p = "hi there";

あなただけQString myGreet = QString::fromLocal8Bit(p);

于 2021-04-16T12:28:44.247 に答える
1

inBufferをどのように宣言しましたか? outBufferを意味する場合は、逆参照演算子を削除します。

QString str = outBuffer[1];
于 2013-01-11T02:37:48.410 に答える