Получить выбранную запись - PullRequest
1 голос
/ 17 апреля 2019

У меня есть QTableWidget с 9 столбцами и X строками. Когда я дважды щелкаю ячейку, она отображает ее содержимое. Как мне изменить код для просмотра, двойным щелчком, всей строки, то есть всей записи?

class Searchtable(QTableWidget):

    def __init__(self):
        super().__init__()

        self.tab = QTableWidget(0,9,self)
        self.tab.setColumnWidth(8,130)
        self.tab.setColumnWidth(7,70)
        self.tab.setColumnWidth(6,70)
        self.tab.setColumnWidth(5,130)
        self.tab.setColumnWidth(4,50)
        self.tab.setColumnWidth(3,60)
        self.tab.setColumnWidth(2,100)
        self.tab.setColumnWidth(1,130)
        self.tab.setColumnWidth(0,130)
        self.tab.verticalHeader().setVisible(False)
        self.tab.horizontalHeader().setVisible(False)
        self.tab.itemDoubleClicked.connect(self.doubleclick_Recordfound)

        hbox1 = QHBoxLayout()
        hbox1.addWidget(self.tab)
        self.setLayout(hbox1)

    def doubleclick_Recordfound(self):
        print(self.tab.currentItem().text())

1 Ответ

1 голос
/ 17 апреля 2019

Сигнал itemDoubleClicked отправляет элемент нажатым, из этого элемента вы можете получить строку, так что это просто вопрос итерации:

@pyqtSlot("QTableWidgetItem*")
def doubleclick_Recordfound(self, item):
    r = item.row()
    for c in range(self.tab.columnCount()):
        it = self.tab.item(r, c)
        if it is not None:
            print(it.text())
...