从网站将数据更新到QTableView(间歇性)
updating data to QTableView from website (intermittently)
只更新QTableView一次,因为我试图处理数据的网站在有新数据时不会自动更新。我可能需要重新运行url以获取最新数据,因为当我重新启动应用程序时,QTableView会自动更新。有人能给我提个办法吗?。如何在有延迟的情况下递归调用slotReadyRead()。我是使用定时器还是多线程,或者使用while(1)/for(;;)循环?我想在未来为数据库实现一个TCP服务器,并认为连续循环可能会很混乱或是一个问题。
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);
}
您可以使用QTimer在定义的时间间隔启动一个操作,以下载更新的数据(如果在此期间网站没有更新,则为最后一个版本)。
正如您所指出的,使用while(1)
或for (;;)
循环不是一个好主意。
相关文章:
- QTableView:endMoveRows在模型中重置水平页眉大小
- 将QIcon添加到QTableView单元格
- 如何使用url确定网站协议
- 如何在QTableView中排序和更改日期格式
- QTableview Search
- 如何从网站获取数据并将其传输到数据库?
- 网站和C++程序在同一台 Linux PC 上的通信
- QTableView 拉伸标头,但保持交互性
- 从网站复制证书,并使用脚本将其添加到受信任的根证书颁发机构
- 谷歌浏览器在访问网站时发送第二个 0 长度的请求?
- qtableView 在订购项目到达时添加和显示它们任意?
- 为什么作业提交网站的输出与Visual Studio不同
- 如何使用 libcurl 登录本网站?(C++)
- QTableView 不会更新数据
- 将自定义样式添加到 QTableview 中添加的按钮
- QTableView:即时更改行计数
- 如何对QTableView忽略大小写进行排序
- 访问其他网站后如何获得完整(精确)的URL / QUrl地址?
- 如何在QT中的QtableView中找到我的按钮的行号
- 从网站将数据更新到QTableView(间歇性)