int b=0;
QVector<int> z(5);
for(int i=0;i<5;i++)
z.push_back(i);
for(int i=0;i<z.size();i++)
{
b=z.at(i);
QString str=QString::number(b);
ui->mbox->setText(str);
}
ベクターをプレーンテキストで印刷するためにこのコードを書きましたが、最初の行のみを印刷します。ベクター全体を印刷したいわけではありません:mboxはプレーンテキスト編集です
今、別の問題があります
QVector<int> z(5);
for(int i=0;i<5;i++)
z.push_back(i);
QString str;
for (int i = 0; i < z.size(); ++i)
{
if (i > 0)
str += " ";
str += QString::number(z[i]);
}
ui->mbox->setText(str);
}
z.size() を書いたときの最初の for ループで、Qt がイベント ハンドラーからスローされた例外をキャッチしました。Qt では、イベント ハンドラーからの例外のスローはサポートされていません。QApplication::notify() を再実装し、そこですべての例外をキャッチする必要があります。
また、2番目にz.sizeを書いたとき、10の出力が得られますが、ご覧のとおり、zのサイズは5です。最初の5つの出力は0で、残りは0 1 2 3 4のように正常ですが、5が必要です出力は間違っていますか