pyqt5에서 테이블값 선택된 전체 행값을 어떻게 가져오나요?
조회수 4081회
테이블에 나와있는 값을 선택해서 다른 테이블에 넣을려고하는데 선택된 전체 테이블 행 값을 어떻게 찾아오는지 모르겠습니다 검색을 해봤지만 QItemSelectionModel
이 뷰의 선택한 항목을 추적한다는데 ㅜㅜ 도움이 될만한 정보가 있을까요?
1 답변
-
pyqt 쪽은 사실 파이썬 지식보단 qt 지식이 더 필요한 분야입니다.
윈도우 프로그래밍의 지식이 있다면 좀 더 수월할 수 있구요.
일단 qt쪽의 table 은 item base 와 model base 가 있습니다.
QTableWidget 을 예를들면 하나의 row 는 여러개의 cell 로 되어 있습니다.
아래의 코드는 하나의 row 를 생성하는 예제입니다.
self.tw2 = self.ui.tableWidget_2 self.tw2.setRowCount(1) self.tw2.setItem(0, 0, QtWidgets.QTableWidgetItem("Yhjung")) self.tw2.setItem(0, 1, QtWidgets.QTableWidgetItem("Korea")) self.tw2.setItem(0, 2, QtWidgets.QTableWidgetItem("10"))
아래의 예제는 QTableWidget 이 두개 있다는 가정하에 row 를 복사하는 예제입니다. tw1은 또 다른 QTableWidget 입니다.
@pyqtSlot(QtCore.QModelIndex) def slot2(self, modelIndex): row = modelIndex.row() row_count = self.tw1.rowCount() self.tw1.insertRow(row_count) self.tw1.setItem(row_count, 0, QtWidgets.QTableWidgetItem(self.tw2.item(row, 0).text())) self.tw1.setItem(row_count, 1, QtWidgets.QTableWidgetItem(self.tw2.item(row, 1).text())) self.tw1.setItem(row_count, 2, QtWidgets.QTableWidgetItem(self.tw2.item(row, 2).text()))
댓글 입력