I有一组控件,它们绑定到频繁更改的数据值。数据来自有限的硬件总线。因此,当控件在屏幕上不可见时,最好禁用绑定。在这种情况下,项目的
visible
-property没有帮助。那么,如何确定基于项的QML小部件当前是否在屏幕上可见(而不是隐藏在覆盖层或可见区域之外)?
来源:https://forum.qt.io/topic/54116/how-to-check-if-a-item-is-currently-visible-on-screen
我也有同样的问题。希望这里有人能找到解决办法。
发布于 2022-01-17 15:09:03
下面是我想要做的事情:
首先,我猜想这里有一个ScrollView或者可以闪烁的游戏?如果是这样的话,然后连接到像Flickable::movementEnded()这样的信号。
其次,当该信号触发时,使用Item::mapToItem()检查每个项的可见矩形(基于x、y、宽度、高度)是否与窗口的contentItem矩形相交。将结果设置为对每个项的布尔值,并确保当数据检索为false时(使用&或第三个JS表达式)将其禁用。
或者,如果更方便,则在false时删除绑定,并在true时使用Qt.binding()重新应用绑定。
https://stackoverflow.com/questions/70722137
复制相似问题