0
 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が必要です出力は間違っていますか

4

1 に答える 1