Gönüllü özelliklerin sınırlamalarına giren büyük bir özellik uygulamasına sahibim. @on_traits_changed dekoratörünü kullanırken esas performans sorunları.HasTraits ve PyQt sinyallerini tek bir sınıfta kullanın
from traits.api import *
from PyQt4 import QtCore
class Foo(HasTraits, QtCore.QObject):
pass
Hata yığını: yapabileceğim eğer, PyQt4 (veya PyQt5) sinyallerle bu sorunları aşmak için oldukça basit olurdu
TypeError Traceback (most recent call last)
<ipython-input-3-ecdfa57492f7> in <module>()
2 from PyQt4 import QtCore
3
----> 4 class Foo(HasTraits, QtCore.QObject):
5 pass
C:\Python27\lib\site-packages\traits\has_traits.pyc in __new__(cls, class_name,
bases, class_dict)
427
428 # Finish building the class using the updated class dictionary:
--> 429 klass = type.__new__(cls, class_name, bases, class_dict)
430
431 # Fix up all self referential traits to refer to this class:
TypeError: Error when calling the metaclass bases
metaclass conflict: the metaclass of a derived class must be a (non-strict)
subclass of the metaclasses of all its bases
Ama bütün dan ben bu mümkün olmadığını biliyorum. Bazı geçici çözüm var mı?
DÜZENLEME: eklenen ithalatı
EDIT2: eklendi
Neden bunun mümkün olmadığını düşünüyorsunuz? Hangi testi yaptın? – ekhumoro
Gönderdiğim kodu test ettim ve bir hata attı. Bu soruna herhangi bir çözüm bulamadım, bu yüzden şimdi burada soruyorum. – HeinzKurt
@HeinzKurt. Neden birden fazla kalıtım kullanmanız gerekiyor? Neden sadece bir "QObject" örneğini oluşturmuyorsunuz ve ona delege edemiyorsunuz? Ayrıca, PyQt5'in son sürümünü kullanarak test ettiniz mi? – ekhumoro