-1

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>

Yūjin-A
  • 1
  • 2
  • 1. Please take your time to carefully read the documentation about [QTableWidgetItem](https://doc.qt.io/qt-5/qtablewidgetitem.html) and [QTableWidget](https://doc.qt.io/qt-5/qtablewidget.html) (including **all** the inherited classes); 2. printing an object doesn't "show" its *visual* representation in the UI: these are items and indexes, not strings; 3. Avoid caps locks, it's annoying and bothering; please take your time to read [ask], review the [checklist](//meta.stackoverflow.com/q/260648) and ensure that you are properly [formatting code](//meta.stackoverflow.com/a/251362). – musicamante Dec 24 '22 at 23:05

1 Answers1

0

This is an example of how you can do this:

selected_items = self.tableWidget.selectedItems()
for item in selected_items:
    print(item.text())
EL-AJI Oussama
  • 406
  • 1
  • 4
  • 14