2010-07-22 45 views
1

有人可以描述下面的異常嗎?什麼是「對象佈局」以及它是如何定義的?由於Python - 「對象佈局」

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

當進入Python的(暴露的)內部時,一般會遇到多少警告會讓人略感失望 - Python的一致性和清潔性在那裏會崩潰。這裏只是一個例子。 – 2012-08-13 19:57:13