Print Selected data from qtable pyqt5 python

115 views Asked by At

I HAVE TRIED MANY BUILT FUNCTION LIKE :

currentItem()
selectedItems()
 TO PRINT SELECTED DATA IN QTABLE OF PYQT5 IN PYTHON

WHEN EVER I USE THESE FUNCTION THEY ONLY PRINT THESE

import sys
from PyQt5.uic import loadUi
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QDialog, QApplication


class MainWindow(QDialog):
    def __init__(self):
        super(MainWindow, self).__init__()
        loadUi("tabletutorial.ui",self)
        self.tableWidget.setColumnWidth(0,250)
        self.tableWidget.setColumnWidth(1,100)
        self.tableWidget.setColumnWidth(2,350)
        self.loaddata()
        self.pushButton.clicked.connect(self.pri)

    def loaddata(self):
        people=[{"name":"John","age":45,"address":"New York"}, {"name":"Mark", "age":40,"address":"LA"},
                {"name":"George","age":30,"address":"London"}]
        row=0
        self.tableWidget.setRowCount(len(people))
        for person in people:
            self.tableWidget.setItem(row, 0, QtWidgets.QTableWidgetItem(person["name"]))
            self.tableWidget.setItem(row, 1, QtWidgets.QTableWidgetItem(str(person["age"])))
            self.tableWidget.setItem(row, 2, QtWidgets.QTableWidgetItem(person["address"]))
            row=row+1
            
    def pri(self):
         h=self.tableWidget.selectedItems()
         R=self.tableWidget.selectedIndexes()
         p=self.tableWidget.currentItem()
        #  j=self.tableWidget.Items()
         print(h)
         print(R)
         print(p)
        #  print(j)


# main
app = QApplication(sys.argv)
mainwindow = MainWindow()
widget = QtWidgets.QStackedWidget()
widget.addWidget(mainwindow)
widget.setFixedHeight(850)
widget.setFixedWidth(1120)
widget.show()
try:
    sys.exit(app.exec_())
except:
    print("Exiting")

out put::

<PyQt5.QtWidgets.QTableWidgetItem object at 0x0000021DD56C9820>

[<PyQt5.QtWidgets.QTableWidgetItem object at 0x0000021DD56C9EE0>]

[<PyQt5.QtCore.QModelIndex object at 0x0000021DD556BB30>]

<PyQt5.QtWidgets.QTableWidgetItem object at 0x0000021DD56C9EE0>

1

There are 1 answers

0
EL-AJI Oussama On

This is an example of how you can do this:

selected_items = self.tableWidget.selectedItems()
for item in selected_items:
    print(item.text())