저는 파이썬을 배우고 있고 아빠를 돕기위한 프로그램을 작성하려고합니다. 나는 그것이 탁월한 것처럼 보이기를 원합니다. 그러나 지금 당장은 좋아 보이지만 누군가 테이블을 내려다 보는 동안 tableWidget의 행 수 (열이 아닌)를 만드는 방법을 모릅니다 ... 할 수 있습니까? 그것은 QtDesigner를 사용하거나 코드를 .py 파일에 작성해야합니다. 어떤 도움에 감사드립니다 ... 미안 바보 같은 질문을하고 있다면, 나는 멍청한 놈 정말 ... 여기Qt와 PyQt 테이블 위젯 증가 행 수
답변
개념 증명 예 일종의 : 당신은이
class Widget(QtGui.QWidget):
def __init__(self):
super(Widget, self).__init__()
self.resize(600,400)
layout = QtGui.QVBoxLayout(self)
self.table = QtGui.QTableWidget(20,10)
self.vBar = self.table.verticalScrollBar()
self._vBar_lastVal = self.vBar.value()
layout.addWidget(self.table)
self.vBar.valueChanged.connect(self.scrollbarChanged)
def scrollbarChanged(self, val):
bar = self.vBar
minVal, maxVal = bar.minimum(), bar.maximum()
avg = (minVal+maxVal)/2
rowCount = self.table.rowCount()
# scrolling down
if val > self._vBar_lastVal and val >= avg:
self.table.insertRow(rowCount)
# scrolling up
elif val < self._vBar_lastVal:
lastRow = rowCount-1
empty = True
for col in xrange(self.table.columnCount()):
item = self.table.item(lastRow, col)
if item and item.text():
empty=False
break
if empty:
self.table.removeRow(lastRow)
self._vBar_lastVal = val
은 값을 변경하는 정보를 알리기 위해 테이블 위젯의 수직 스크롤 막대를 사용합니다. 그래서 우리는 valueChanged(int)
신호를 우리의 방법에 연결합니다.
scrollbarChanged
슬롯은 스크롤바의 값을받습니다. 내가 여기서하고있는 일은 그 순간 스크롤바의 최소값과 최대 값을 확인하고 현재 위치가 적어도 중간에 있는지 확인하는 것입니다. 또한 스크롤 막대에 행만 추가하기 때문에 현재 스크롤 막대 값이 마지막 시간보다 큰지 확인합니다. 이러한 조건이 참이면 새 행을 삽입합니다.
마지막 줄을 확인하여 비어 있는지 확인하고 제거해야하는 경우에만 제거해야하기 때문에 다시 줄이면됩니다. 내 버전은 대략적인 아이디어를 제공하지만 수학 논리는 아마도 더 많은 작업이 필요할 것입니다. 하지만 마지막 행의 모든 항목을 통해 None 또는 빈 값인지 확인합니다. 전체 행이 비어 있으면 제거합니다. 따라서 백업을 스크롤 할 때 감소 효과를 얻습니다.
희망 사항이 당신에게 출발점이됩니다! 어떤 부분에 대한 자세한 설명이 필요하면 코드에 대해 물어보십시오.
감사합니다. jdi !!! 나는 당신의 코드를 연구하고 네세 사리 수정 작업을 수행했다. 유일한 것은 "실제"감소 효과를 원한다면 "LastRow"의 값을 20 또는 그 이상으로 올려야한다는 것입니다 ... – Antoni4040
예. 내가 말했듯이, 나는 로직에 대한 테스트를 거의하지 않았다. 감속기가 거칠 거라 생각했습니다. 또한 스크롤 핸들의 크기가 100 %가되기 전에 시간을 줄이는 것이 좋습니다. 이렇게하면 항상 보이는보기를 벗어나는 추가 행이 유지됩니다. 그렇게하면 막대가 너무 커서 스크롤이 줄어들지 않아서 스크롤이 줄어들지 않습니다. – jdi
- 1. Pyqt 테이블 위젯 업데이트
- 2. PyQt 커스텀 위젯 in C++
- 3. 파이썬 - PyQt - QTable 위젯 - 행 추가하기
- 4. Pyqt 테이블 행 강조 표시
- 5. qtablewidget에 위젯 추가하기 pyqt
- 6. pyqt : 테두리 위젯 제어
- 7. PyQt 위젯 업데이트
- 8. 여러 파일의 PyQt 위젯
- 9. 사용자 크기 조정 PyQt 위젯
- 10. PyQt 레이아웃 위젯 위로 반복
- 11. 고급 SWT 테이블 위젯
- 12. 데이터베이스 모니터링 행 개수 증가
- 13. 사각형으로 고정 된 PyQT 커스텀 위젯
- 14. 테이블 행 수
- 15. pyQt - QGroupBox를 기반으로 위젯 선택하는 방법
- 16. Pyqt 상태 표시 줄 위젯 업데이트
- 17. LCD Qt 위젯 카운트 다운을 시도하는 PyQt
- 18. ZSH iterm2 행 수 증가 히스토리
- 19. PyQt 테이블 헤더 컨텍스트 메뉴
- 20. Windows에서 Qt와 SDL 함께
- 21. 중첩 테이블 높이 자동 증가?
- 22. SQL 선택 행 방향으로 증가
- 23. GtkVBox Qt와 동일
- 24. 테이블 행 수 얻기 C#
- 25. Windows Azure 테이블 - 행 수?
- 26. Symfony의 테이블 위젯
- 27. 테이블 행 안쪽 테이블
- 28. python의 테이블 위젯 문제
- 29. 자동 증가 테이블 데이터 병합
- 30. CSS 증가 테이블 셀의 너비
코드에서 수행해야합니다. -/ – jdi