QT qml ListView 分页/翻页

科技ing QQ:843230304
大家好,这是个单独的qml文件 可以自己测试

import QtQuick 2.3
import QtQuick.Controls 1.2
Item{id:rootwidth:1024height:600anchors.fill: parent//每页6项property int itemCountPerPage:6property int currentPage:1//向下取整,有多少页(25项/6项每页 = 4页)property int page:contentListView.count/itemCountPerPage//实际页数(恰好整除pageCount = page, 否则pageCount比page多1页)property int pageCount: page*itemCountPerPage<contentListView.count?page+1:pageListView{id:contentListViewwidth:100height:itemCountPerPage*80anchors{centerIn: parent}snapMode: ListView.SnapToItemclip: true//interactive: falsemodel:25delegate:viewDelegate}Component{id:viewDelegateRectangle{width: 100height:80Text{anchors.fill: parenttext:modelDatafont.pixelSize: 30}}}Button{id:upBtnwidth:100height:60enabled: contentListView.visibleArea.heightRatio>0opacity: contentListView.visibleArea.heightRatio===0?0.5:1anchors{top:contentListView.topleft:contentListView.right}Text{anchors.centerIn: parenttext:"上一页"font.pixelSize: 30}onClicked: {//contentListView.decrementCurrentIndex()changePage(false)showPage()}}Text{//--页码anchors{verticalCenter: contentListView.verticalCenterleft:contentListView.right}text:qsTr("第%1页/共%2页").arg(currentPage).arg(pageCount)font.pixelSize: 30}Button{id:downBtnwidth:100height:60enabled: contentListView.visibleArea.heightRatio<1opacity: contentListView.visibleArea.heightRatio===1?0.5:1anchors{bottom: contentListView.bottomleft:contentListView.right}Text{anchors.centerIn: parenttext:"下一页"font.pixelSize: 30}onClicked: {//contentListView.incrementCurrentIndex()changePage(true)showPage()}}//--listView 翻页功能function changePage(next){var currentViewIndex = contentListView.indexAt(contentListView.contentX,contentListView.contentY)if(currentViewIndex%itemCountPerPage!==0){   //最后一页if(!next){//往前翻页contentListView.positionViewAtIndex((page-1)*itemCountPerPage,ListView.Beginning)}}else{var i = 0for(; i<pageCount;i++){if(i*itemCountPerPage<=currentViewIndex&&currentViewIndex<(i+1)*itemCountPerPage){//找到当前currentViewIndex属于第几页break}}console.log("currentViewIndex ",currentViewIndex)//前、后翻页currentViewIndex =(next?(i+1):(i-1))*itemCountPerPage//取值范围currentViewIndex = currentViewIndex<0?0:currentViewIndexcurrentViewIndex = currentViewIndex>=contentListView.count - 1?contentListView.count - 1:currentViewIndexconsole.log("nextViewIndex ",currentViewIndex)contentListView.positionViewAtIndex(currentViewIndex,ListView.Beginning)}}//--计算页码function showPage(){var currentViewIndex = contentListView.indexAt(contentListView.contentX,contentListView.contentY)if(currentViewIndex%itemCountPerPage!==0){//最后一页console.log("final")currentPage = pageCount}else{for(var i = 0; i<pageCount;i++){if(i*itemCountPerPage<=currentViewIndex&&currentViewIndex<(i+1)*itemCountPerPage){//找到当前currentViewIndex属于第几页currentPage = i + 1break}}}console.log("currentPage",currentPage)console.log("page",page)console.log("pageCount",pageCount)}}

QT qml ListView 分页/翻页相关推荐

  1. scrapy的分页(翻页处理)

    import scrapy from bs4 import BeautifulSoupclass BookSpiderSpider(scrapy.Spider):name = 'book_spider ...

  2. 评论后的Ajax和刷新分页,Wordpress Ajax 评论分页/翻页 – Fatesinger

    WordPress 升级到4.4版本后源代码分页函数失效.只需要给paginate_comments_links函数加上个total参数就可以了.代码已更新. 如果某篇文章评论特别多的时候,我们可以启 ...

  3. 关于viewpager 里嵌套 listview 同时实现翻页功能的“java.lang.IllegalStateException: The specified child...异常处理...

    这几天做项目用到了ViewPager,因为它可以实现左右划动多个页面的效果,然后 再每个页面里使用ListView,运行时总是出现"PagerAdapter java.lang.Illega ...

  4. Android ListView 滚动翻页效果

    http://blog.csdn.net/top_code/article/details/9629259

  5. QT qtablewidget按钮控制翻页效果

    主要借鉴别人的思路 pro #------------------------------------------------

  6. Qt QML 菜单/目录/工具栏的全面攻略(TabBar、MenuBar、ToolBar、Button定制、Listview、Repeater)

    Qt QML 菜单/目录/工具栏的全面攻略 1. TabBar的工具栏/目录 1.1 演示 1.2 关键控件 1.3 源码 2 MenuBar 菜单 2.1 演示 2.2 关键控件 2.3 源码 3 ...

  7. Qt基于Qml实现分页控件

    演示效果 分页控件实现Qml PageNavigation.qml import QtQuick 2.12 import QtQuick.Controls 2.12Row{id: pageNaviga ...

  8. oracle数据库如何写翻页_ORACLE数据库分页查询/翻页 最佳实践

    ORACLE数据库分页查询/翻页 最佳实践 一.示例数据: Select Count(*) From dba_objects ; ----------------------------------- ...

  9. 用AjaxPro实现无刷新翻页效果及数据库分页技术介绍

    在看本文之前,建议查看本人的系列文章: <AjaxPro与服务器端交互过程中如何传值>:http://blog.csdn.net/zhoufoxcn/archive/2008/01/05/ ...

  10. springboot:实现分页查询,以及翻页功能

    在pom.xml中引入依赖 <!-- 分页查询插件 --><dependency><groupId>com.github.pagehelper</groupI ...

最新文章

  1. 蓝桥杯:基础练习 杨辉三角形
  2. Oracle脚本批量导入时,输出日志文件
  3. 洛谷P4015 运输问题 网络流24题
  4. Android Studio +MAT 分析内存泄漏实战
  5. ZigBee网络架构详解
  6. Django学习之十一:真正理解Django的路由分发和反解url原理
  7. android 7.0 自启管理,一款不错的android6.0、7.0权限管理器推荐
  8. SSM中异常的几种处理方式
  9. linux下Led的设备驱动程序实验总结,Linux让LED灯闪起来
  10. 微信小程序获取用户的头像和昵称
  11. SAS安装后处理错误的解决方法
  12. AE倒影插件:vc reflect插件汉化版(支持ae2020)
  13. 美团点评数据平台融合实践
  14. MPI聚合通信之MPI_Bcast函数
  15. 我的三维mandelbulb制作fractal成长之路[续]
  16. 破晓博客-自定义标签的开发
  17. [AHK]通达信联动到同花顺下单
  18. Shell 脚本的详细解读 (三)
  19. 使用python爬虫爬取百度新闻,告诉你社会热点话题
  20. R语言 关联TCGA数据库下载的RNA-SEQ数据和临床信息

热门文章

  1. TwinCAT 3 马达程序
  2. 虚拟机客户端访问不了服务器域名,虚拟机ESXI 篇四:让你电脑打开网页不用等待---SmartDns...
  3. linux 安装Julia
  4. java制作手机投射电脑_Android手机屏幕投射到电脑神器Vysor
  5. gc cr block lost
  6. 解决VS2015社区版无法下载许可证的问题
  7. r语言 聚类求和_R语言聚类分析(示例代码)
  8. cad填充转多段线脚本
  9. java生成 动态 pdf_java根据模板HTML动态生成PDF
  10. 计算机多媒体简历,计算机多媒体简历