• 3566阅读
  • 2回复

[提问]tableView显示数据 [复制链接]

上一主题 下一主题
离线zheguzai
 

只看楼主 倒序阅读 楼主  发表于: 2012-09-26
现有从串口读出来的数据,每个大约200毫秒就会有一次数据,想把数据放在tabview中,现在已经可以显示了,不过显示是从上往下显示的,最新的数据是显示在最下面的,想改成把最新的数据显示在第一行,应该怎么弄?
离线0354030w

只看该作者 1楼 发表于: 2012-09-26
每次读取后把数据插入到model的第一个
离线zheguzai

只看该作者 2楼 发表于: 2012-09-27
此问题已解决,在tabview的ui初始化的时候加入 tableModel->setSortRole(1);


每次添加数据之前进行排序,添加数据之后再进行排序即可让最新数据显示在第一行;代码如下
  1. void Config::UpdataTabview(unsigned int lines, QString hex)
  2. {
  3.     QString str = QString::number(lines);
  4.     
  5.     //添加数据之前排序
  6.     tableModel->sort(0,Qt::AscendingOrder);
  7.     
  8.     //添加数据
  9.     tableModel->setItem(lines, 0, new QStandardItem(str));
  10.     tableModel->setItem(lines, 1, new QStandardItem(CurTime->currentDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  11.     tableModel->setItem(lines, 3, new QStandardItem(hex.toUpper()));
  12.     
  13.     //添加数据后排序
  14.     tableModel->sort(0,Qt::AscendingOrder);
  15. }




快速回复
限100 字节
 
上一个 下一个