Qt:元素可见且不遮挡(无需滚动)

Qt: element visible and not obscured (no need to scroll)

本文关键字:滚动 遮挡 元素 Qt      更新时间:2023-10-16

来自Qt文档中关于可见属性的信息:

此属性保存小组件是否可见。[...]

碰巧被屏幕上的其他窗口遮挡的小部件是被认为是可见的

就我而言,没有其他窗口,只有带有滚动条(水平和垂直)的相同窗口。

我如何知道元素是否在可见区域中(用户真正可见,无需滚动)?

如果您使用的是QScrollArea则可以使用其成员函数

void ensureWidgetVisible ( QWidget * childWidget, int xmargin = 50, int ymargin = 50 )

以确保您的小部件可见。对于项目视图(从QAbstractItemView继承的任何内容),有

virtual void scrollTo ( const QModelIndex & index, ScrollHint hint = EnsureVisible ) = 0

这可确保index表示的元素可见。