检索所选记录

问题描述 投票:1回答:1

我有一个包含9列和X行的QTableWidget。当我双击一个单元格时,它会显示其内容。如何更改要查看的代码,双击整行,即整个记录?

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())
python python-3.x pyqt pyqt5 qtablewidget
1个回答
1
投票

信号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())
© www.soinside.com 2019 - 2024. All rights reserved.