首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

怎么获取ListWidget中显示的内容是位于列表中的哪个范围

2013-09-16 
如何获取ListWidget中显示的内容是位于列表中的哪个范围请教大神,怎么能够获取到ListWidget中显示的内容在

如何获取ListWidget中显示的内容是位于列表中的哪个范围
请教大神,怎么能够获取到ListWidget中显示的内容在QListWidgetItems中的哪个范围;

比如现在ListWidget中有100个Item, 但是现在显示在屏幕上的只有10个,其他的需要通过scrollbar来显示。

那怎样才能确定现在显示的Item在QListWidgetItems中位于哪个范围? 比如是15-25的。 

想知道怎么能确定这个范围? QListWidgetItems ListWidget scrollbar
[解决办法]
参考这个函数:
QModelIndex QAbstractItemView::indexAt(const QPoint & point) const [pure virtual]
Returns the model index of the item at the viewport coordinates point.

viewport的可见rect是能够取得的,然后计算最上面和最下面可见的index就容易了。

[解决办法]
对于较大的模型,建议你使用QListView和QstandardModel的modelView模型。而不要使用ListWidget这种类型。
除了一楼的方法,你还可以试一下下面的函数。
QScrollBar::
voidsetMaximum ( int )
voidsetMinimum ( int )
voidsetPageStep ( int )
思路是,你有多少张图片,你就设置最大值是多少,然后设置Step每一行的图片数。那么就可以从scrollBar的当前值,读出现在大概显示的是哪些图片了。函数如:intsliderPosition () const

热点排行