QtabView使用方法

原文地址::http://blog.chinaunix.net/uid-20551900-id-3360638.html


最近做项目用到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. }
本站公众号
   欢迎关注本站公众号,获取更多程序园信息
开发小院