Where to draw the line between Qt 4 and 5

Michael Dickens michaelld at macports.org
Thu Feb 28 15:42:24 UTC 2019

CMake has the same dilemma.

I'm using Qt4 on macOS 10.14 latest & see no issues on a retina display excepting that the "retina" concept isn't supported. IIRC we've added tweaks to allow the user to select the default rendering engine, and that took care of all of the issues I've heard of or seen (or, maybe it was a PR that never got finished? I no longer recall ...). If there is a scaling issue (beyond the lack of support for the "retina" concept) then I'd love to hear what it is. I'm amazed that Qt4 still works as well as it does on 10.14, TBH!

Related about Qt5: I have issues getting it installed even on OSX 10.11 when using MacPorts! I believe this is because of MP programming and not Qt5 stuff, but whatever IDK. I've tried "update" and direct "install" with no success; I've yet to try "deactivate" then "install", but that's next up the current updates finish.

Also related: I don't actively use Qt5 yet like I used to use Qt4, so maybe someone else knows the answer here: does each successive version of Qt5 have both API and ABI changes that make them backward-incompatible with prior versions? I'm guessing the answer is "yes". If so, then is the "feature set" for a given port relevant for selecting which version of Qt5 will work with it? I -hope- the answer here is "maybe but not generally" otherwise how could we make sure the proper version of Qt5 is installed for all the various ports requiring their different feature sets?

I really don't know what a good cutoff is between Qt4 and Qt5 for the default if both can work. If I had to guess, I'd say Y == 10.9 and X == 10.11 right now ... but maybe expand those to 10.8 and 10.12 maximally. Just a guess based on my recent Qt5 updating / installing experiences ...

Hope this is useful! - MLD

On Thu, Feb 28, 2019, at 9:59 AM, Mojca Miklavec wrote:
> Hi,
> I would like to update Mercurial & TortoiseHG, but I don't know on
> which OS Qt 5 may be declared as default one. Note that both Qt 4 and
> 5 work fine (see below), so it doesn't really matter which one is used
> and I wouldn't want to break old OSes just because of a stupid
> hardcoded requirement of Qt 5.
> I don't want to make Qt 4 default on newer OSes either because it
> doesn't work correctly on Retina display (many buggy issues with
> scaling), but that's the last thing to worry about on 10.5.
> I thought that maybe we should make Qt 5 default on darwin >= X, Qt 4
> default on darwin < Y and potentially offer variants on Y <= darwin <
> X and defaulting to Qt 4 (where we may set X = Y, making this subset
> empty).
> So: where should I draw the line? What should X/Y be?
> The relevant PR is here:
>     https://github.com/macports/macports-ports/pull/3664
> Thank you,
>     Mojca

More information about the macports-dev mailing list