• 5293阅读
  • 8回复

关于列表的显示问题 [复制链接]

上一主题 下一主题
离线delmore
 
只看楼主 倒序阅读 楼主  发表于: 2009-03-06
我是个QT新手,希望求助前辈们一个问题。

我有上万条的记录需要在一个列表里面显示出来,如果用 ListWidget 我觉得一次性加到里面,启动程序的时候会很慢,所以我想在程序当中动态的加载进去,像一次显示100条,然后浏览超过100条时,再重新加载100条,如此反复...
但是有个问题,怎么才能让旁边的滚动条的显示百分比是1万条记录的而不是100条记录的,希望前辈们给个好的解决方法,

在此小弟万分感谢!
离线landuochong

只看该作者 1楼 发表于: 2009-03-06
有函数吧
离线delmore
只看该作者 2楼 发表于: 2009-03-06
能具体点吗?
离线sbtree
只看该作者 3楼 发表于: 2009-03-06
建议分页操作,例如把100行作为一页,点下一页就加载下一个100行
windows 7 + VC++2008 + Qt4.5.2
离线sbtree
只看该作者 4楼 发表于: 2009-03-06
verticalScrollBar ()->setRange(int,int)试一试
windows 7 + VC++2008 + Qt4.5.2
离线whenever

只看该作者 5楼 发表于: 2009-03-07
我也是遇到这个问题,有2、3千行,好慢,要几秒时间,后来初始设定其大小为1000,才感觉可以接受了。listwidget的一个特点是每次添加一个项目会当增加比较多时会很耗时间,可以适当放大每一次循环增加的项目数,我是100,这样效果能够提高不少。估计listwidget内部有一定的优化机制吧,没有仔细研究:)
离线delmore
只看该作者 6楼 发表于: 2009-03-09
verticalScrollBar ()->setRange(int,int)
没有效果
离线delmore
只看该作者 7楼 发表于: 2009-03-09
whenever

你说每次循环加 100 条,那到最后你那 2,3千行就全加到 listwidget 里面了,是这个意思吧,可是我想每次加载的就是 100 条,之前后之后的加的条目就给从 listwidget 里移除掉。
离线daimon0316
只看该作者 8楼 发表于: 2009-03-09
自己写分页算法做吧
博客地址 http://blog.sina.com.cn/daimon0316
快速回复
限100 字节
 
上一个 下一个