QtableWidget을 QScrollArea (단 하나의 위젯)에 넣으려고하면 가로 및 세로로 스크롤 할 수 있습니다 (Qtablewidget에서 스크롤 막대를 사용하지 않는 이유가 있음). 그러나 tableWidget이 창 내부에 들어 가지 않아서 스크롤 바가 나타나지 않아 QtCore.Qt.ScrollBarAlwaysOn
을 설정했지만 이제는 그곳에 있지만 회색이며 여전히 스크롤 할 수 없습니다. 내가 PyQt는에 초심자이고 정말 레이아웃과 컨테이너를 이해하지 못하는, 그래서 내가 잘못 뭘하는지 알아낼 수 없습니다QScrollArea가 스크롤되지 않습니다.
class Table(QtGui.QDialog):
def __init__(self, parent=None):
super(Table, self).__init__(parent)
layout = QtGui.QGridLayout()
tableWidget = QtGui.QTableWidget()
#.... set up and populate tableWidget here 1000rows-10col ....
myScrollArea = QtGui.QScrollArea()
myScrollArea.setWidgetResizable(True)
myScrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
myScrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
myScrollArea.setWidget(tableWidget)
layout.addWidget(myScrollArea)
self.setLayout(layout)
self.setMinimumSize(1000, 700)
:
여기 내 코드입니다. 올바른 방향으로 나를 가리켜 주시면 감사하겠습니다.
답변 해 주셔서 감사합니다. 나는 당신 같은 테이블에 대해서도'ScrollBarAlwaysOff'를했습니다. 코드를 실행할 때 QScrollArea의 스크롤 막대와 5 개의 행을 볼 수 있지만 한 번만 더 아래로 스크롤하면 스크롤 할 수 있습니다. PyQt4와 Python 2.6을 사용하고 있습니다. 코드를 사용하여 100 개의 행으로 모두 스크롤 할 수 있습니까? 제발 두통을 좀 도와주세요. – Aleksandar
아, 표가 채워진 후에'self.table.resizeRowsToContents()'와'self.table.resizeColumnsToContents()'를 사용해야한다는 것을 잊어 버렸습니다. – Aleksandar