Обновляет QTableView только один раз, поскольку сайты, на которых я пытаюсь обрабатывать данные, не обновляются автоматически, когда у него есть свежие данные. Возможно, мне придется перезапустить URL-адрес, чтобы получить последние данные, так как QTableView обновляет все в порядке, когда я перезапускаю приложение. Может ли кто-нибудь предложить мне способ сделать это? Как я называю свой slotReadyRead() рекурсивно с некоторой задержкой. Я использую таймеры или делаю это многопоточным или использую цикл while (1)/for (;;)? Я хочу реализовать TCP-сервер для базы данных в будущем и думаю, что непрерывные циклы могут быть беспорядочными или быть проблемой.Обновление данных до QTableView с веб-сайта (с перерывами)
LogWindow::LogWindow(QWidget *parent) :
QMainWindow(parent)
{
ui->setupUi(this);
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
QNetworkRequest request(web_url);
reply = manager->get(request);
connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
}
void LogWindow::slotReadyRead()
{
while(reply->bytesAvailable())
{
processWebsite1();
processWebsite2();
QStandardItem *firstCol = new QStandardItem(rf_ID);
QStandardItem *secondCol = new QStandardItem(time);
model->setItem(0,0,firstCol);
model->setItem(0,1,secondCol);
ui->logs->setModel(model);
}
emit datachanged(firstCol, secondCol);
}