2013-05-14 2 views
0

У меня есть исключение, запускающее простое приложение в python 2.7 с Qt. Код:«Объект под управлением C/C++ удален»

# *-* coding: utf-8 *-* 
__author__ = 'luismasuelli' 

import sys 
from PyQt4 import QtGui 

class StreamWidget(QtGui.QWidget): 

    def __init__(self): 

     super(StreamWidget, self).__init__(self) 
     self.initialize() 

    def initialize(self): 

     self.setWindowTitle("Stream capture test") 
     self.resize(400, 300) 
     self.center() 
     self.show() 

    def center(self): 

     qr = self.frameGeometry() 
     cp = QtGui.QDesktopWidget().availableGeometry().center() 
     qr.moveCenter(cp) 
     self.move(qr.topLeft()) 

def main(): 

    app = QtGui.QApplication(sys.argv) 
    window = StreamWidget() 
    sys.exit(app.exec_()) 

main() 

Sh * т:

RuntimeError: лежащие в основе C/C++ объект был удален (на супер вызова линии())

Что может быть ошибка и как я могу реши это? Любая помощь будет оценена по достоинству.

+0

Опубликовать полную ошибку трассировки. – timss

+1

'.__ init __ (self)' должен быть просто '.__ init __()'. – Blender

ответ

1

Получил ошибку! Я передал параметр (self), не заметив его. Я noob в этом и кажется, что этот параметр является родительским виджетами. передача self не только логически ошибочна, но и неинициализированный qt-объект.

Смежные вопросы