Afin de rendre votre application fonctionnelle sur la dernière version de macOS, à savoir Big Sur, il vous suffit de déclarer cette variable d'environnement dans le script de point d'entrée de votre programme :

import os

os.environ["QT_MAC_WANTS_LAYER"] = "1"

À savoir qu'à partir de PyQt 5.15.2, elle sera déclarée par défaut et ne sera plus necéssaire à partir de PyQt 6.

Concernant ce qu'elle fait ou déclenche dans Qt est assez peu documenté, mais voici ce qu'en dit un core-dev de Qt, Tor Arne Vestbø :

macOS nowadays (10.14 and above) defaults to apps using CoreAnimation layers for their views, if the app was built using Xcode 10 or above, to opt in to this behavior.

The legacy code path, surface-backed views, appears to have regressed in macOS Big Sur. It may be an issue in Qt's use of this mode, or a regression in macOS, or both, but investigating it is not a high priority.

The QT_MAC_WANTS_LAYER environment variable tells Qt to use layers even if it's not automatically enabled by macOS based on the Xcode version you used to build.

Clarification: Layer-backed views are not a problem on newer macOS, surface-backed views are.