Сбой таблицы QT - PullRequest
       14

Сбой таблицы QT

0 голосов
/ 01 марта 2019

Я создал приложение, которое извлекает результаты API каждую минуту и ​​отображает их в qtableview, используя qabstracttablemodel.Вот некоторые из моих фрагментов кода.

qTimer = new QTimer(this);
connect(qTimer, SIGNAL(timeout()), this, SLOT(fetchData()));
fetchData();
qTimer->start(60000);

функция fetchData

QNetworkReply *reply = netManager->get(QNetworkRequest{QUrl{"api url"}});
connect(reply, SIGNAL(finished()), this, SLOT(netRequestFinished()));

netRequestFinished slot

QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
QString strReply = (QString)reply->readAll();
QJsonDocument jsonResponse = QJsonDocument::fromJson(strReply.toUtf8());
QJsonObject jsonObject = jsonResponse.object();
model->exchangeArray = jsonObject["exchanges"].toArray();
model->updateData();
reply->deleteLater();

функция updateData

emit layoutChanged();

В настоящее время все содержимое результата API изменяется каждый раз, когда я выбираю, поэтому мне нужно испустить сигнал layoutChanged.Когда я запускаю приложение и не выполняю никаких действий с таблицей, проблем с сбоем не возникает.Но если я часто запускаю событие щелчка мышью для просмотра таблицы, оно полностью падает.Я думаю, что если я щелкну мышью, когда раздастся сигнал layoutChagned, он выйдет из строя.

Что мне нужно сделать, чтобы решить эту проблему?Заранее спасибо.

...