Chinaunix首页 | 论坛 | 博客
  • 博客访问: 307406
  • 博文数量: 63
  • 博客积分: 1482
  • 博客等级: 上尉
  • 技术积分: 1185
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-12 19:06
个人简介

hello world!

文章分类

全部博文(63)

分类: C/C++

2011-08-17 17:06:12

QTableView和QTableWidget翻页功能实现

 

       主要使用QTableView和QTableWidget中的三个函数实现

QTableView::verticalScrollBar()->setSliderPosition()  //设置当前滑动条的位置

QTableView::verticalScrollBar()->maximum();             //滑动条能移动的最大位置

QTableView::verticalScrollBar()->value();                   //获得当前滑动条的位置

 

 

  1. static int nCurScroller=0; //翻页时的当时滑动条位置
  2. static int pageValue = 10; // 一页显示条数

  3. void SplayHisForm::createHisForm()
  4. {
  5.                 …….
  6.     hisTableWidget = new QTableWidget;
  7.     hisTableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
  8.     hisTableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
  9.             …….
  10. }

  11. /***下一页***/
  12. void SplayHisForm::nextPageHis()
  13. {
  14.     int maxValue = hisTableWidget->verticalScrollBar()->maximum(); // 当前SCROLLER最大显示值25
  15.     nCurScroller = hisTableWidget->verticalScrollBar()->value(); //获得当前scroller值

  16.     if(nCurScroller<maxValue)
  17.         hisTableWidget->verticalScrollBar()->setSliderPosition(pageValue+nCurScroller);
  18.     else
  19.         hisTableWidget->verticalScrollBar()->setSliderPosition(0);
  20. }

  21. /***上一页***/
  22. void SplayHisForm::prePageHis()
  23. {
  24.     int maxValue = hisTableWidget->verticalScrollBar()->maximum(); // 当前SCROLLER最大显示值25
  25.     nCurScroller = hisTableWidget->verticalScrollBar()->value();

  26.     if(nCurScroller>0)
  27.         hisTableWidget->verticalScrollBar()->setSliderPosition(nCurScroller-pageValue);
  28.     else
  29.         hisTableWidget->verticalScrollBar()->setSliderPosition(maxValue);
  30. }

 

 

 

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

唐行潇2014-02-23 12:00:02

请问,假如pageValue =10,在每次插入数据的时候,如果表格的rowCount=20了即rowCount等于pageValue 的整数倍的时候,表格显示的第一行显示21,31,41等,这样怎么做好呢,谢谢。