2013-10-16 26 views
1

從Qt的文檔有關的Visible屬性:的Qt:元素可見和不模糊(無需滾動)

這個屬性保存的小部件是否可見。 [...]

恰好被其他窗口在屏幕上遮擋widget是 認爲是可見

對我來說,沒有其他窗口,但只用滾動同一個窗口酒吧(水平和垂直)。

我怎麼能知道元素是否在可見區域(真正可見的用戶,沒有滾動)?

+0

你正在使用什麼視圖?帶有滾動區域的ListView,Grid或自定義視圖? – Kunal

+0

自定義查看與滾動區域,但實際上,我需要知道,對於每個可能的情況,因爲這將在未來有用 – dyesdyes

回答

2

如果您使用的是QScrollArea你可以使用它的成員函數

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

,以確保您的部件是可見的。對於項目的意見(任何來自QAbstractItemView繼承),有

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

這可以確保通過index表示的元素是可見的。