2010-07-22 4 views
1

누군가 다음과 같은 예외를 설명 할 수 있습니까? "객체 레이아웃"이란 무엇이며 어떻게 정의됩니까? 덕분에파이썬 - "객체 레이아웃"

Traceback (most recent call last): 
    File "test_gui.py", line 5, in <module> 
    suite = AlgorithmEngine('gui_suite') 
    File "/home/honza/Research/Voiar/algorithm.py", line 169, in __init__ 
    self.algorithms = self._initAlgorithms() 
    File "/home/honza/Research/Voiar/algorithm.py", line 232, in _initAlgorithms 
    self._initGUIAlgorithm(obj) 
    File "/home/honza/Research/Voiar/algorithm.py", line 218, in _initGUIAlgorithm 
    cls.__bases__ = bases 
TypeError: __bases__ assignment: 'QWidget' object layout differs from 'GUIAlgorithm' 

답변

4

그것은 당신이 (__bases__에 할당하여) 객체의 유형을 변경하기 위해 노력하고 새로운 유형이 이전과 호환되지 않았 음을 의미합니다. 이것은 기본 C 데이터 구조가 두 유형 모두에서 동일하지 않을 때 발생합니다.

이 예외를 트리거 할 수있는 유형 간의 차이점 목록은 http://www.mail-archive.com/[email protected]/msg52950.html을 참조하십시오.

+0

파이썬의 (노출 된) 내부로 들어갈 때 일반적으로 얼마나 많은주의 사항이 남았는지 약간 실망합니다. 파이썬의 일관성과 청결성이 거기에서 깨졌습니다. 이것은 여기에 단지 하나의 예입니다. –

관련 문제