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是一个普通的textedit
现在还有另一个问题
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);
}
在第一个for循环中,当我写z.size()时,我得到Qt已捕获从事件处理程序抛出的异常。投掷 Qt不支持来自事件处理程序的异常。你必须 重新实现QApplication :: notify()并捕获所有异常。
也是第二次,当我写z.size时,我得到10输出,但z的大小是5,你可以看到。是什么是wrog 前5输出为0,然后休息正常,如0 1 2 3 4 但我错了,我应该有5个输出
答案 0 :(得分:2)
您正在覆盖向量中每个项目的文本。根据以下值构造QString:
QString str;
for (int i = 0; i < z.size(); ++i)
{
if (i > 0)
str += " ";
str += QString::number(z[i]);
}
ui->mbox->setText(str);