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>