QScrollArea
에 배치 된 QFrame
에 복수 QLabels
을 표시했습니다.QScrollArea의 하위 위젯이 표시되는지 확인하는 방법은 무엇입니까?
나는 QScrollArea.ensureWidgetVisible(QLabel)
로 볼 수 QLabels
중 하나를 만들기 위해 QScrollArea
말할 수 있어요,하지만 난 자식 위젯이 현재 표시 여부 찾을 수있는 방법을 찾을 수 없습니다. 나는 QScrollArea.isWidgetVisible(QWidget)
과 같은 것을 기대할 것이다.
QLabel
가 보이는 여부
QScrollArea
에, 항상
True
을 반환하는지 여부 아이의 자신의 방법, 즉
QLabel.isVisible()
하지만 상관없이 사용하여 시도 (아래 예 참조). 이것에 대한 해결책은 무엇입니까?
#!/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_()
완벽! 고맙습니다 :) – Benjamin