如何在PyQt5 QTableWidget中获取选定索引中的项目总数

时间:2019-04-03 05:03:21

标签: python pyqt5 qtablewidget

我想获取currentRow中选定项的总和,并在按下Enter键时将其显示在明显不同列的同一行上

enter image description here

这是从数据库获取数据的代码

def pay1(self):
    con = mdb.connect(host='', user='',password='')
    cur = con.cursor()
    cur.execute("USE table_1")
    x = "SELECT player_name,total,time FROM paid"
    cur.execute(x)
    self.tableWidget.setRowCount(0)
    self.tableWidget.setColumnWidth(0, 100)
    self.tableWidget.setColumnWidth(1, 130)
    self.tableWidget.setColumnWidth(2, 130)
    self.tableWidget.setColumnWidth(3, 130)
    self.tableWidget.setHorizontalHeaderItem(0, 
    QtWidgets.QTableWidgetItem('Player Name'))
    self.tableWidget.setHorizontalHeaderItem(1, 
    QtWidgets.QTableWidgetItem('Total Amount'))
    self.tableWidget.setHorizontalHeaderItem(2, 
    QtWidgets.QTableWidgetItem('Time and Date'))

    for row_number, row_data in enumerate(cur):
        self.tableWidget.insertRow(row_number)
        for column_number, data in enumerate(row_data):
            self.tableWidget.setItem(row_number, column_number, 
            QtWidgets.QTableWidgetItem(str(data)))
    con.commit()

1 个答案:

答案 0 :(得分:1)

要捕获按下回车键的事件,必须使用QShortCut,要获取所选项目,必须使用selectedIndexes()的{​​{1}}方法,如下所示:

QTableWidget