[Development] Proposal: Make QPen non-cosmetic by default
Knoll Lars
Lars.Knoll at digia.com
Mon Oct 15 09:32:52 CEST 2012
On Oct 12, 2012, at 3:17 PM, Uwe Rathmann <Uwe.Rathmann at tigertal.de> wrote:
> On Fri, 12 Oct 2012 12:21:30 +0000, Bache-Wiig Jens wrote:
>
>> After all what is the point of doing a
>> major version unless we don't even allow ourselves to change broken
>> defaults.
>
> There is nothing broken: it's a well defined API that behaves exactly
> like it is documented. Your suggestion is about modifying an illogical
> API.
>
> I don't know the reasons why the API was decided once the way it is - but
> it is so confusing, that I can't believe that it happened by accident
> ( being documented later ). My guess is that it was following some other
> system that did it this way.
>
> In the end it is about to decide if the improvement is it worth to
> introduce a hard to find incompatibility to the application world.
As far as I understood Jens, the reason to change this would be to avoid lots of drawing issues with High-DPI support (for e.g. the new Macs). If this is the case, we'll get into some problems whether we change the default or not. If we don't change it, the developers will likely run into issues on computers with High-DPI displays. If we change it plotting apps such as Qwt will have different issues.
Both types of problems are unfortunately difficult to find when testing (as you might not test all use cases).
>> Changing this in a minor release is obviously not going to
>> happen so its either now or never.
>
> Thought Qt 5.0 API is already frozen - but if you really want to do it
> now is indeed by far the best moment for changes like this one.
It's now or never really. To collect pros and cons that I've heard so far:
+ Logical API (to make it really logical would probably also require to make 0 width pens invisible)
+ Better compatibility on High-DPI displays
- Breaks plotting/graphing apps/libraries (Qwt)
Do we have any other arguments?
Cheers,
Lars
More information about the Development
mailing list