visible プロパティに関する Qt doc から:
このプロパティは、ウィジェットが表示されるかどうかを保持します。[...]
画面上の他のウィンドウによってたまたま隠されているウィジェットは、表示されていると見なされます
私の場合、他のウィンドウはなく、スクロールバー(水平および垂直)のある同じウィンドウのみがあります。
要素が可視領域 (スクロールせずにユーザーに実際に表示される) にあるかどうかを知るにはどうすればよいですか?
を使用しているQScrollArea
場合は、そのメンバー関数を使用できます
void ensureWidgetVisible ( QWidget * childWidget, int xmargin = 50, int ymargin = 50 )
ウィジェットが表示されていることを確認します。アイテム ビュー (から継承されたものQAbstractItemView
) には、
virtual void scrollTo ( const QModelIndex & index, ScrollHint hint = EnsureVisible ) = 0
これにより、 で表される要素が確実に表示されindex
ます。