python - 检索所选记录

原文 标签 python python-3.x pyqt pyqt5 qtablewidget

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

最佳答案

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

相关文章:

python - PyQt Designer:如何使按钮边缘变圆?

python - 为什么“numpy.any”没有短路机制?

python - 超过一类的神经网络无法正常工作

python - 使用python无法解析文本块:文本文件解析不完整

python - 防止numpy将数值转换为字符串

python - 如何在python 3上生成正弦波音调

python - PyQt Python-为QPushButton创建鼠标右键

python - PyQt:自定义属性的QDataWidgetMapper映射

python - wxPython-禁用整个菜单

python - 如何从网络位置使用Win32扩展进行python