Qt 什么';获取QML表视图当前可见行(第一行、最后一行)的最简单方法是什么?

Qt 什么';获取QML表视图当前可见行(第一行、最后一行)的最简单方法是什么?,qt,qml,Qt,Qml,我需要从一个JavaScript函数中访问当前可见的行(第一行、最后一行),该函数在TableView中定义 TableView { function getVisibleRows() { ... } } 我看到ListView(Flickable)有一个contentY属性,这会使问题变得微不足道,但TableView没有。此外,TableView是以ListView的形式实现的,因此涉及ListView,但我不确定如何访问它。 谢谢大家! 使用Sc

我需要从一个JavaScript函数中访问当前可见的行(第一行、最后一行),该函数在TableView中定义

TableView
{
    function getVisibleRows()
    {
        ...
    }
} 
我看到ListView(Flickable)有一个contentY属性,这会使问题变得微不足道,但TableView没有。此外,TableView是以ListView的形式实现的,因此涉及ListView,但我不确定如何访问它。 谢谢大家!

使用
Scrollview
(由
TableView
继承)的

确定contentItem上的当前“窗口”。换句话说,它 剪辑它,视口的大小会告诉您 内容区域可见


viewport
返回一个完整的
qml项
,这样您就可以获得大量的位置数据。

我已经弄明白了。我只需要使用
rowAt
访问
flickableItem.contentY

,也许您可以尝试找出第一行和最后一行可见的行,但我想当内容没有足够的数据填充视图本身时,它就不起作用了。无论如何,在这种情况下(
rowAt
返回
-1
),您可以安全地选择
模型。将-1
计数为最后一行,将
0
计数为第一行,因为它们确实适合视图!!谢谢,但我想知道当前显示的(屏幕上)项目。关于模型的观点很好。尽管计数为1!你能举个例子说明如何获得当前的滚动偏移量吗?视口作为一个项目是正确的,但据我所知,它只是做剪辑,不知道当前的滚动位置。