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 - 检索选定的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55731868/

相关文章:

python - 将 Python 结构解析为 PyObject

python - 无法在 while 循环内调用日志记录

python - 使用 boto3.resource.put_object() 和 boto3.s3.transfer.upload_file() 将文件上传到 S3 有什么区别

python - 获取光标之前的文本

python - 如何发送数据到QTableView/QTableWidget (PyQt)

python - 从数据库中提取数据然后将其传递给 qtreeview

python - Discord.py - 如何为每个服务器制作齿轮

java - 在 Vim 中使用 UltiSnip 生成 getter 和 setter

python - asyncio - 如何在信号处理程序中使用协程?

python - Pandas:读取 csv 和旋转数据