に配置された にQLabels
複数表示しています。QFrame
QScrollArea
QScrollArea
でいずれかをQLabels
表示するように指示できQScrollArea.ensureWidgetVisible(QLabel)
ますが、子ウィジェットが現在表示されているかどうかを確認する方法が見つからないようです。のようなものを期待しますQScrollArea.isWidgetVisible(QWidget)
。
私は子供自身のメソッドを使ってみQLabel.isVisible()
ましQLabel
た。これに対する解決策は何ですか?QScrollArea
True
#!/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('<h1>'+str(n)+'</h1>')
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_()