pyqt4 - "StackHash_0a9e error" when exit from python -
i'm beginner of python,i wrote small program, when exit program, (more 50% probability) show error.this occurred after exit program.could please me find there wrong code.
really thanks.
ps:i'm using python3.3 , pyqt4 on win7 sp1 x64
error:
问题签名: 问题事件名称: bex 应用程序名: python.exe 应用程序版本: 0.0.0.0 应用程序时间戳: 5150c40a 故障模块名称: stackhash_0a9e 故障模块版本: 0.0.0.0 故障模块时间戳: 00000000 异常偏移: 00388100 异常代码: c0000005 异常数据: 00000008 os 版本: 6.1.7601.2.1.0.256.1 区域设置 id: 2052 其他信息 1: 0a9e 其他信息 2: 0a9e372d3b4ad19135b953a78882e789 其他信息 3: 0a9e 其他信息 4: 0a9e372d3b4ad19135b953a78882e789 console return this:
process finished exit code -1073741819
main code:
import urllib import http.cookiejar import time import sys bs4 import beautifulsoup pyqt4 import qtgui pyqt4 import qtcore class baidumainwindow(qtgui.qmainwindow): def __init__(self, parent=none): super(baidumainwindow, self).__init__(parent) self.initui() def initui(self): self.centralwidget = baiduwidget(self) self.setcentralwidget(self.centralwidget) self.resize(600, 400) self.move(qtgui.qapplication.desktop().screen().rect().center() - self.rect().center()) self.statusbar().showmessage('ready') class baiduwidget(qtgui.qwidget): def __init__(self, parent): super(baiduwidget, self).__init__(parent) self.initui() def initui(self): lb = qtgui.qlabel('search word') self.keywordedit = qtgui.qlineedit() self.okbutton = qtgui.qpushbutton('search') self.containfilter = qtgui.qlineedit() self.exceptfilter = qtgui.qlineedit() self.result = qtgui.qtextbrowser() spaceritem = qtgui.qspaceritem(30, 50) grid = qtgui.qgridlayout() grid.setspacing(10) grid.additem(spaceritem, 0, 0) grid.addwidget(lb, 1, 0) grid.addwidget(self.keywordedit, 2, 0) grid.addwidget(self.okbutton, 5, 0) grid.additem(spaceritem, 7, 0) grid.addwidget(self.result, 0, 1, 8, 1) grid.setcolumnstretch(1, 4) self.setlayout(grid) if __name__ == '__main__': app = qtgui.qapplication(sys.argv) form = baidumainwindow() form.show() sys.exit(app.exec_())
the problem is: spaceritem has beed added grid twice. object freed twice qt when exited program.
def initui(self): lb = qtgui.qlabel('search word') self.keywordedit = qtgui.qlineedit() self.okbutton = qtgui.qpushbutton('search') self.containfilter = qtgui.qlineedit() self.exceptfilter = qtgui.qlineedit() self.result = qtgui.qtextbrowser() spaceritem = qtgui.qspaceritem(30, 50) grid = qtgui.qgridlayout() grid.setspacing(10) grid.additem(spaceritem, 0, 0) grid.addwidget(lb, 1, 0) grid.addwidget(self.keywordedit, 2, 0) grid.addwidget(self.okbutton, 5, 0) grid.additem(spaceritem, 7, 0) grid.addwidget(self.result, 0, 1, 8, 1) grid.setcolumnstretch(1, 4) self.setlayout(grid) you should use 2 qspaceritems.
def initui(self): lb = qtgui.qlabel('search word') self.keywordedit = qtgui.qlineedit() self.okbutton = qtgui.qpushbutton('search') self.containfilter = qtgui.qlineedit() self.exceptfilter = qtgui.qlineedit() self.result = qtgui.qtextbrowser() spaceritem = qtgui.qspaceritem(30, 50) spaceritem2 = qtgui.qspaceritem(30, 50) grid = qtgui.qgridlayout() grid.setspacing(10) grid.additem(spaceritem, 0, 0) grid.addwidget(lb, 1, 0) grid.addwidget(self.keywordedit, 2, 0) grid.addwidget(self.okbutton, 5, 0) grid.additem(spaceritem2, 7, 0) grid.addwidget(self.result, 0, 1, 8, 1) grid.setcolumnstretch(1, 4) self.setlayout(grid)
Comments
Post a Comment