On 28/02/2020 13.32, Thiago Macieira wrote:
> On Friday, 28 February 2020 07:28:34 PST Matthew Woehlke wrote:
>> If we had to do it over again, it might make sense to follow Python and
>> make signals *objects* instead of *methods*. Then the code would look like:
>>
>>   this->emptied.emit(...);
> 
> Binary compatibility issue: if it's a member of the class, it can't be added 
> or removed without changing the class's size and layout, so it would tie our 
> hands for future improvements.

Good point. Although...

> You'd see instead:
> 
>     this->emptied().emit(...);
>     connect(foo, foo->emptied(), ...);

...this might actually be better, since it would mean we still have MOC
generating the code for the signal. (I was trying to figure out how MOC
would generate the object initialization logic, and failing. I suspect
this would work better. I wonder if we could even introduce this new
style without breaking existing code source compatibility?)

...but I think connections would still look like either:

  connect(foo, &Foo::emptied, ...);

...or:

  connect(foo->emptied(), ...);

-- 
Matthew
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to