python.exe 崩溃(使用了所有系统允许的窗口管理器对象句柄)
Posted
技术标签:
【中文标题】python.exe 崩溃(使用了所有系统允许的窗口管理器对象句柄)【英文标题】:python.exe crashes (used all system allowance of handles for Window Manager objects) 【发布时间】:2013-07-15 10:20:30 【问题描述】:我正在用QTextEdit
小部件填充QTableWidget
的两列中的单元格。当行数超过 ~1250 时 python.exe 崩溃:
pythhon.exe 已停止工作
在控制台中显示此消息,为超过 1250 行中的每个下一个小部件一遍又一遍地重复:
QWidget::create: 创建窗口失败(当前进程已使用 Window Manager 对象的句柄的所有系统允许。)
所以我的问题是如何增加 win7 的系统句柄限制(我找到了 xp here 的教程,但我的 SharedSection 已经设置为 1024,20480,768 并且我读过它不安全增加桌面堆超过 20480)或者以其他方式填充表?我就是这样做的:
textEdit = QtGui.QTextEdit()
textEdit.setPlainText("some text in 1-100 lines")
textEdit.setReadOnly(1)
textEdit.setFrameStyle(QtGui.QFrame.NoFrame)
textEdit.setFixedHeight(400)
textEdit.setFixedWidth(2000)
tableWidget.setCellWidget(i,j,textEdit)
我有 Python 2.6 和 PyQt 4.7
【问题讨论】:
【参考方案1】:由于没有其他解决方案,我不得不以另一种方式填充表格...
tableWidget.setItem(i, j, QtGui.QTableWidgetItem("text"))
我只保留QtGui.QTextEdit()
以防我的“文本”超过 100 行,因为在这种情况下滚动表格会在我使用 setItem
时变慢
【讨论】:
以上是关于python.exe 崩溃(使用了所有系统允许的窗口管理器对象句柄)的主要内容,如果未能解决你的问题,请参考以下文章
拓展面试题之-linuxmongodbnginxphp面试题