【发布时间】:2021-10-28 18:19:04
【问题描述】:
我想测试 PyQt 以编写一个快速应用程序,以类似 Excel 的形式显示和编辑数据,但数据从未显示。
我读过的文档和书都说在 QtableWidget 对象上使用 .setItem(row, colum, QTableWidgetItem(data)) 是一个的方法。 但是,下面的代码不起作用,我只有一个空表,我不知道为什么。有什么想法吗?
import sys
from PyQt5.QtWidgets import (
QApplication,
QMainWindow,
QTableWidget,
QTableWidgetItem,
QMenu,
QAction,
QInputDialog,
)
class SpreadsheetFramework(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setMinimumSize(1000, 500)
self.setWindowTitle("Spreadsheet Table")
# Used for copy and paste actions
self.item_text = None
self.createTable()
self.fillTable()
self.show()
def createTable(self):
self.table_widget = QTableWidget()
self.table_widget.setRowCount(10)
self.table_widget.setColumnCount(10)
self.table_widget.setCurrentCell(0, 0)
self.setCentralWidget(self.table_widget)
def fillTable(self):
for i in range(10):
for j in range(10):
self.table_widget.setItem(i, j, QTableWidgetItem(i * j))
if __name__ == "__main__":
app = QApplication(sys.argv)
window = SpreadsheetFramework()
sys.exit(app.exec_())
这是我运行代码时窗口的样子
【问题讨论】:
标签: python pyqt qtablewidget qtablewidgetitem