我正在尝试使用 QTableView 对象在 PyQt 中创建一个表。我的数据存储在Pandas
数据框中。
这是代码:
from PyQt5 import QtCore, QtGui, QtWidgets
import pandas as pd
cust_data = pd.read_csv('C:\\Users\\utkarsh.a.ranjan\\Documents\\final_datasets\\minimal_data.csv')
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(524, 424)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.tableView = QtWidgets.QTableView(self.centralwidget)
self.tableView.setGeometry(QtCore.QRect(60, 20, 411, 351))
self.tableView.setMouseTracking(False)
self.tableView.setObjectName("custData")
self.tableView.setRowCount(cust_data.head().shape[0])
self.tableView.setColumnCount(cust_data.head().shape[1])
for i in range(cust_data.head().shape[0]):
for j in range(cust_data.head().shape[0]):
self.tableWidget.setItem(i,j, QTableWidgetItem(cust_data.iloc[i, j])
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 524, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
if __name__ == "__main__":
import sys
if not QtWidgets.QApplication.instance():
app = QtWidgets.QApplication(sys.argv)
else:
app = QtWidgets.QApplication.instance()
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
我在 for 循环之后的行中收到语法错误。我没有发现任何语法问题。如果我删除嵌套的 for 循环,错误就会消失。我在 spyder IDE 上运行代码
您在末尾缺少一个右括号 self.tableWidget.setItem(...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句