检索所选记录

2024-09-29 19:32:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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())

Tags: 代码selffalse内容initdef记录tab
1条回答
网友
1楼 · 发布于 2024-09-29 19:32:36

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

相关问题 更多 >

    热门问题