pyqt5에서 테이블값 선택된 전체 행값을 어떻게 가져오나요?

조회수 4081회

테이블에 나와있는 값을 선택해서 다른 테이블에 넣을려고하는데 선택된 전체 테이블 행 값을 어떻게 찾아오는지 모르겠습니다 검색을 해봤지만 QItemSelectionModel이 뷰의 선택한 항목을 추적한다는데 ㅜㅜ 도움이 될만한 정보가 있을까요?

1 답변

  • 좋아요

    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()))
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)