title: How to find out whether child widget of QScrollArea is visible?
body: <p>I am displaying multiple <code>QLabels</code> on a <code>QFrame</code>, placed into a <code>QScrollArea</code>. </p>
  
  <p>I am able to tell <code>QScrollArea</code> to make any of the <code>QLabels</code> visible with <code>QScrollArea.ensureWidgetVisible(QLabel)</code>, but I cannot seem to find a method to find out whether the child widget is currently visible or not. I would expect something like <code>QScrollArea.isWidgetVisible(QWidget)</code>. </p>
  
  <p>I tried using the child's own method, i.e. <code>QLabel.isVisible()</code> but no matter whether the <code>QLabel</code> is visible or not in the <code>QScrollArea</code>, it always returns <code>True</code> (see example below). What's the solution to this?</p>
  
  <pre><code>#!/usr/bin/env python
  
  import sys
  from PyQt4 import QtGui, QtCore
  
  
  
  application = QtGui.QApplication(sys.argv)
  
  class Area(QtGui.QScrollArea):
  
      def __init__(self, child):
              super(Area, self).__init__()
          self.child = child
          self.setWidget(self.child)
          self.setFixedSize(100, 100)
  
  
  class MainWidget(QtGui.QFrame):
  
      def __init__(self, parent=None):
              QtGui.QFrame.__init__(self, parent)
          self.layout = QtGui.QVBoxLayout()
          n = 1
          while n != 10:
              label = QtGui.QLabel('&lt;h1&gt;'+str(n)+'&lt;/h1&gt;')
              self.layout.addWidget(label)
              n += 1
          self.setLayout(self.layout)
  
      def wheelEvent(self, event):
          print "Wheel Event:"
          for child in self.children()[1:]:
              print child.isVisible()
          event.ignore()
  
  mainwidget = MainWidget()
  area = Area(mainwidget)
  area.show()
  application.exec_()
  </code></pre>