Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76222
  • 博文数量: 13
  • 博客积分: 742
  • 博客等级: 军士长
  • 技术积分: 255
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-14 21:17
文章分类

全部博文(13)

文章存档

2013年(3)

2012年(5)

2011年(3)

2010年(2)

我的朋友

分类: C/C++

2012-09-27 10:53:06

最近做项目用到Qt中的QTabView,这东西以前没用过,写下来做个记号。

QTabView在使用之前要设定模式


下面为TabView初始化

点击(此处)折叠或打开

  1. void Config::SetupTabview()
  2. {
  3.      tableModel = new QStandardItemModel();

  4.      //设置行
  5.      tableModel->setColumnCount(4);
  6.      tableModel->setHeaderData(0,Qt::Horizontal,tr("ID"));
  7.      tableModel->setHeaderData(1,Qt::Horizontal,tr("time"));
  8.      tableModel->setHeaderData(2,Qt::Horizontal,tr("data"));
  9.      tableModel->setHeaderData(3,Qt::Horizontal,tr("hex"));
  10.      //tableModel->sort(0,Qt::DescendingOrder);
  11.      tableModel->setSortRole(1);

  12.      //设置每行大小
  13.      ui->tableView->setModel(tableModel);
  14.      ui->tableView->setColumnWidth(0,50);
  15.      ui->tableView->setColumnWidth(1,180);
  16.      ui->tableView->setColumnWidth(2,180);
  17.      ui->tableView->setColumnWidth(3,400);
  18.      ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
  19.      ui->tableView->verticalHeader()->hide();

  20. }



下面为TabView每次添加数据,并排序,最新数据显示在第一行,此函数可放在定时器中调用,实现不据连续插入



点击(此处)折叠或打开

  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. }




阅读(7860) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~