【问题标题】:Retrieve the selected record检索选定的记录
【发布时间】:2019-04-17 16:07:23
【问题描述】:

我有一个 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】:

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

    【讨论】:

    • 太棒了!我不知道这个“项目”的发送。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2012-09-14
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多