【发布时间】:2019-11-13 03:37:08
【问题描述】:
我想制作一个类似 Excel 的电子表格。 Excel 2010 有 1048576 行和 A - ZZZ 列。但在 Qt 中,如果应用程序的行数超过 7000~8000 行,应用程序就会崩溃。
这是一个错误,还是 Qt 的默认设置?当然,这种崩溃发生在较低版本上。你也遇到同样的问题吗?
示例代码:
from PySide2 import QtWidgets
import PySide2
import os
dirname = os.path.dirname(PySide2.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
import sys
import itertools
alphabet = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
alphabet2 =[i[0]+i[1] for i in itertools.product(alphabet, alphabet)]
alphabet3 =[i[0]+i[1] for i in itertools.product(alphabet, alphabet2)]
alphabet = alphabet + alphabet2 + alphabet3
EXCEL2010_ROW_MAX = 1048576
NOW_POSSIBLE_MAX = 7000
def main():
app = QtWidgets.QApplication([])
tablewidget = QtWidgets.QTableWidget()
tablewidget.setRowCount(EXCEL2010_ROW_MAX)
tablewidget.setColumnCount(len(alphabet))
tablewidget.setHorizontalHeaderLabels(alphabet)
tablewidget.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
【问题讨论】:
标签: python limit qtablewidget pyside2