[Interest] Qt on macOS 10.14 Mojave

Morten Sørvig Morten.Sorvig at qt.io
Thu Jul 5 13:41:34 CEST 2018


Hi, 

This is something we can look at after the summer break. Could you create
a bug report in the mean time with the relevant details?

Morten

> On 4 Jul 2018, at 16:31, Alexandru Croitor <alexandru.croitor at qt.io> wrote:
> 
> The team working on Qt For Python has already encountered an issue with CA layer backed views.
> 
> The current workaround to get tests and integrations succeed is to disable the feature via the currently available environment variable, but I guess 10.14 forces us to use layers, which means we will have a problem in the near future.
> 
> The issue is that none of the views / widgets get drawn (-[QNSView displayLayer] is not called).
> 
> Unfortunately I was not able to come up with a small reproducible example, but I do have a big reproducible example which involves Qt For Python and the official Python interpreter. 
> 
> I've spoken to Simon and Tor Arne, and investigated multiple avenues but I couldn't find what's the problem. 
> 
> The best information so far is that it happens because the python executable was built with minimum deployment target 10.6, and Qt is built with a higher one. If I use a Python installer that was built against 10.9, the issue disappears.
> 
> I think we will need to either find a different workaround or a proper fix and for that we will need your (macOS QPA team) help.
> 
>> On 4. Jul 2018, at 16:19, Morten Sørvig <Morten.Sorvig at qt.io> wrote:
>> 
>> Hi all,
>> 
>> macOS 10.14 is now in (public) beta and we've had some time to test Qt on it.
>> 
>> This time there are (at least) two changes which will impact Qt applications:
>> Core Animation layer backed NSViews/QWindows and dark mode. We’re aiming to
>> have improvements in place for Qt 5.12. See below for specific details.
>> 
>> In the mean time it’s possible to continue developing and shipping applications
>> for macOS 10.14, also using current Qt versions. This can be done by linking
>> against the 10.13 (or earlier) SDK, which will opt out of dark mode support 
>> and layer backing. It is the syslibroot argument on the linker line which
>> determines the SDK version for this purpose, for example:
>> 
>>   —Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
>> 
>> 
>> Dark appearance: In theory, applications should pick up the dark appearance via
>> the style and palette. In practice, they may not due to incomplete/buggy QPalette
>> and QMacStyle implementations, or hardcoded colors in Qt or the application.
>> 
>> The current state of the patches for dev/5.12 is that custom-styled applications
>> can work well in dark mode, for example Qt Creator with a dark theme.
>> 
>> The plan is to disable dark mode support by default in Qt, at least until
>> QMacStyle is fixed. This means that applications will start up using standard
>> Aqua theme/colors, also when the desktop is configured for dark mode.
>> 
>> The application has the final call here, and can opt in or out by setting the
>> NSRequiresAquaSystemAppearance key in the Info.plist file. For example:
>> 
>> <key>NSRequiresAquaSystemAppearance</key>
>> <false/>
>> 
>> will indicate that the app _does_ support dark mode, and Qt will get out
>> of the way and not apply its disable. Setting it to true will insulate the
>> app against any changes in the Qt default.
>> 
>> 
>> Layer backing: We are seeing some issues here, in particular related to
>> multithreaded OpenGL (as used by the default threaded Qt Quick render loop).
>> We are sorting out if this is something that can or should be fixed in Qt.
>> 
>> So far we’ve not found a way to opt out of layer backing when on the 10.14
>> SDK, so linking against an earlier SDK looks to be the only opt-out option
>> here.
>> 
>> 
>> If you want to file a bug for something that is not working, then please
>> make sure it has “Mojave” somewhere in the title and we’ll sort it into
>> the correct in pile.
>> 
>> 
>> Thanks for reading!
>> Morten
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
> 



More information about the Interest mailing list