Esempio n. 1
0
    def setter(instance, value):
        """ Generic setter. """
        currentValue = getattr(instance, attributeName)
        if currentValue == value:
            return

        resetCallbackName = '__reset__' + attributeName
        if resetOnDestroy and not hasattr(instance, resetCallbackName):
            # store reset callback on instance, only way to keep a reference to this function
            # that can be used for destroyed signal (dis)connection
            setattr(instance,
                    resetCallbackName,
                    lambda self=instance, *args: setter(self, None))
        resetCallback = getattr(instance, resetCallbackName, None)

        if resetCallback and currentValue and shiboken2.isValid(currentValue):
            currentValue.destroyed.disconnect(resetCallback)
        setattr(instance, attributeName, value)
        if resetCallback and value:
            value.destroyed.connect(resetCallback)
        getattr(instance, signalName(notify)).emit()
Esempio n. 2
0
 def is_qobject_alive(obj):
     return shiboken2.isValid(obj)
Esempio n. 3
0
 def isdeleted(obj):
     return not __shiboken2.isValid(obj)
    def testClear(self):

        model = QStandardItemModel()
        root = model.invisibleRootItem()
        model.clear()
        self.assertFalse(shiboken.isValid(root))
Esempio n. 5
0
 def is_qobject_alive(obj):
     return shiboken2.isValid(obj)