3

私がやろうとしているのは、2 つの異なるクラスから継承することだけです。

from traits.api import HasTraits
from PyQt4 import QtCore, QtGui, uic
class Main_Excel_Class(HasTraits,QtGui.QMainWindow):
   pass

「メタクラスの競合: 派生クラスのメタクラスは、そのすべてのベースのメタクラスの (厳密ではない) サブクラスでなければなりません」という問題がありました。

最初にエラー。しかし、 __ metaclass __属性を入れることで解決しました:

from traits.api import HasTraits
from PyQt4 import QtCore, QtGui, uic

class Main_Excel_Class_Meta(type(HasTraits), type(QtGui.QMainWindow)):
     pass   

class Main_Excel_Class(HasTraits,QtGui.QMainWindow):
      __metaclass__ = Main_Excel_Class_Meta

しかし今、私は最終的に

"TypeError: Error when calling the metaclass bases
multiple bases have instance lay-out conflict"

エラー。他の同様の質問を調べてみましたが、正直あまり理解できませんでした。この問題を解決する方法についての洞察は大歓迎です。ありがとうございました

4

1 に答える 1