[PyQt] question about dip observe handler
dsdale24 at gmail.com
Tue Jul 20 14:17:11 BST 2010
On Tue, Jul 20, 2010 at 8:50 AM, Phil Thompson
<phil at riverbankcomputing.com> wrote:
> On Mon, 19 Jul 2010 11:13:14 -0400, Darren Dale <dsdale24 at gmail.com>
>> On Mon, Jul 19, 2010 at 9:33 AM, Phil Thompson
>> <phil at riverbankcomputing.com> wrote:
>>> On Sun, 18 Jul 2010 18:11:15 -0400, Darren Dale <dsdale24 at gmail.com>
>>>> I am reading the dip documentation at
>>>> , and have a question about the following:
>>>> "dip will invoke an observe() handler when the value of an attribute
>>>> is set, even if the new value is the same as the old one. We therefore
>>>> use the _propagate_changes attribute to prevent possible recursion
>>>> Why is it necessary to invoke the observe handler when the value of an
>>>> attribute does not change? There are quite a few infinite-recursion
>>>> workarounds in the example. If the possibility of infinite recursion
>>>> is so high, perhaps by default the handler should not be invoked if
>>>> the attribute value does not change, unless observe() was called with
>>>> a kwarg to invoke the handler regardless?
>>> Good question.
>>> The short answer is that it was easiest for me, but (obviously) what
>>> matters is what's easier for developers using it.
>> Perhaps the example would be easier to understand (and to develop from
>> scratch) with such a change.
>>> The issue is to define what is meant by "changed", particularly when
>>> attribute is a class instance? Rebinding the attribute is obviously a
>>> change, but what about a change to an attribute of the instance?
>> The last example is another slightly different use case. The way
>> enthought supports it is documented at
> ...and what parts of this notation do you find you actually use in
I'm sorry, I can't provide an answer. I have been planning to port a
project to ETS for over a year, but have been holding off because I am
also interested in moving to python3 at the same time.
More information about the PyQt