Python - «макет объекта» - PullRequest
1 голос
/ 22 июля 2010

Может кто-нибудь описать следующее исключение? Что такое «макет объекта» и как он определяется? Спасибо

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'

1 Ответ

5 голосов
/ 22 июля 2010

Это означает, что вы пытались изменить тип объекта (присвоив __bases__), и новый тип не был совместим со старым. Это происходит, когда базовая структура данных C не одинакова для обоих типов.

См. http://www.mail-archive.com/python-list@python.org/msg52950.html для получения списка различий между типами, которые могут вызвать это исключение.

...