0
僅更新QTableView一次,因爲我嘗試處理數據的網站在有新數據時不會自動更新。我可能需要重新運行url才能獲取最新數據,因爲QTableView在我重新啓動應用程序時自動更新。有人可以建議我採取這種做法嗎?如何以某種延遲遞歸地調用我的slotReadyRead()。我是否使用定時器或使其成爲多線程或使用一段時間(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);
}