由于最近在做QT网络通信的项目,需要使用QtableView来动态的显示接收的报文信息。以下的代码示例可以动态的在QtableView中插入行。
void threadRecv()
{
QStandardItemModel *tabModel = new QStandardItemModel();
// 设置数据模型,即绑定tableView与model
ui->tableView->setModel(tabModel);
// 获取本地时间并以2001-01-01 00:00:00.000的形式表示,时间精确到毫秒
QString time = QDateTime::currentDataTime().toString("yyyy-MM-dd hh:mm:ss.zzz");
// 获取报文名称
const QString &msg = getMsgName();
// 获取当前表格的行数
int rowCount = ui->tableView->model()->rowCount();
// 在当前表格的最后一行新插入一行
ui->tableView->model()->insertRow(rowCount);
for(int i = 0; i < ui->tableView->model()->columnCount; i++)
{
// 设置各单元格的值
tabModel->setItem(rowCount,i,new QStandardItem(time));
...
}
}
由于本人也是刚入门不久的小菜鸟一枚,如有问题,欢迎各位大佬评论区批评指正!!!