QTextEditを使用してQstringListを出力しようとしています
例えば
void CTextBox::AddText(QStringList list, QStringList animList)
{
//CGraphics* graphics = CGraphics::GetInst();
//QStandardItem *baseItem = new StandardItem("Hello");
//textBrowser = new QTextEdit();
standardModel->clear();
rootNode = standardModel->invisibleRootItem();
treeView->setModel(standardModel);
QString string;
//std::string = list[i].
QDataStream* data = new QDataStream;
int j = 0;
int k = 0;
for (int i = 0; i < (list.size()); i++)
{
//string += list[i];
//string += hierarchyList[i];
// textBrowser->setText(string);
string.append(list[i]);
//textBrowser->append(list[i]);
if (list[i].contains("Is Parent"))
{
standardItems[j] = new QStandardItem(list[i-1]);
/*for (int k = 0; k < j; k++)
{
if (standardItems[j]->contains(st))
{
}
}*/
rootNode->appendRow(standardItems[j]);
//k = j;
j++;
}
else if (list[i].contains("inherits from"))
{
standardItems[j] = new QStandardItem(list[i-1]);
for(k = 0; k < j; k++)
{
if (standardItems[k]->text() ==list[i+1])
{
standardItems[k]->appendRow(standardItems[j]);
break;
}
}
//standardItems[k]->appendRow(standardItems[j]);
j++;
}
//textBrowser->setText("Hello");
}
for (int i = 0; i < (animList.size()); i++)
{
string.append(animList[i]);
//textBrowser->append(animList[i]);
}
textBrowser->setText(string);
treeView->setModel(standardModel);
//CGraphics* graphics = CGraphics::GetInst();
//graphics->Render();
}
しかし、リストのサイズは1700行のように絶対に巨大になる可能性があります。約400回の追加の後、このエラーメッセージが表示されます。
ipodGuiLoaderQT.exeの0x65154715で未処理の例外:0xC0000005:アクセス違反の読み取り場所0xfdfdfe11。
これは通常、メモリオーバーフローがあることを示しますが、textBrowserのメモリを制御できませんか、それとも完全に間違った方向に進んでいますか?
編集
小さな変更を加えました。現在、文字列と呼ばれるQstringにリスト要素を追加し、ループの最後にテキストを設定しています。
例えば
textBrowser->setText(string);
私はまだ同じ問題を抱えています。