0

qt では、QTcpSocket を使用してサーバーにクエリを投稿します。xml の結果を受け取ります。QLabel を使用して xml コンテンツを表示します。

私はこのようにしてみました。

QDataStream ini(&sock);
QString result;
in >> result;
ui->label->setText(result);

stackoverflow では画像の投稿が許可されていないため、結果を提供できず申し訳ありません。

しかし、xml の代わりに厄介なコードを取得しました。どういう理由ですか?

非常にまれですが、http 応答ワードを受信することがあります。また、やり方を教えていただけると助かります。

おそらく、面倒なコードで作成されたxmlコンテンツを表示する方法です。よくわかりません。:)

4

1 に答える 1

2

1) サーバーからのデータがデータストリーム形式ではありません。したがって、QDatastream を使用して読み取ることはできません。代わりに sock->read()/sock->readAll() を直接使用してください。

2) QLabel をプレーン テキスト モードで使用していることを確認します。

label->setTextFormat( Qt::PlainText )

ただし、QTextBrowser (setPlainText も使用) を使用すると、より便利になり、出力が読みやすくなり、ナビゲートしやすくなります。

于 2012-06-08T07:13:49.467 に答える