QtableView 및 QStandardItemModel을 사용하여 적절한 간격 및 필터 로그를 유지하기 위해 GUI에 로그를 표시하고 있습니다. 모델을 작성하고 데이터를 삽입했습니다. 필터 문자열에 QSortFilterProxyModel을 사용했습니다.Qtextedit에서와 같이 Qtableview에서 자동 스크롤을 활성화하는 방법은 무엇입니까?
self.tableView = QtGui.QTableView(self)
self.model = QtGui.QStandardItemModel(self)
self.proxy = QtGui.QSortFilterProxyModel(self)
self.proxy.setSourceModel(self.model)
self.tableView.setModel(self.proxy)
거의 100 개의 로그가 예상되며 GUI에 표시되어야합니다. 새 로그가 추가되면보기는 자동 스크롤이 아니며 슬라이더는 맨 위에 만 유지됩니다. 로깅에 대한 생생한 느낌을주지 않으며 사용자가 직접 수동으로 스크롤해야합니다. 그래서, 다음 구문을 사용,이 문제를 극복하기 위해
self.model.rowsInserted.connect(lambda: QtCore.QTimer.singleShot(5, self.tableView.scrollToBottom))
그것은 로그 라이브 느낌을 제공하지만, 슬라이더가 바닥에 항상 남아 있고 내가 이전 로그를보기 위해 스크롤 할 수 아니에요. 슬라이더를 움직이려 할 때마다 즉시 아래쪽으로 다시 내려옵니다. 따라서이 구문은 필자의 요구 사항을 충족시키지 못합니다. QTextEdit에서는 자동 스크롤이 적절하고 사용하기 쉽습니다. 나는 QtableView에서 같은 시나리오를 원한다. QTextEdit과 유사한 자동 스크롤을위한 대안이 있습니까?
QTableView 또는 QTreeView : 여기
간단한 데모입니까? – eyllanesc
QTableView @eyllanesc –
왜 프록시를 사용합니까? – eyllanesc