Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-136800

QSplashScreen: No splash screen is seen on macOS

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.9.0
    • GUI: Window management
    • None
    • macOS

    Description

      I will get straight to the point. On macOS, a programmer must call splash->raise() in order for the splash screen to be actually seen on macOS.

      Even if the splash screen is visible (where isVisible() returns true for the widget), it is not seen on macOS, whereas on Windows the same code works correctly and as expected.

      I have found out that on macOS you need to raise the splash screen widget after showing it so that it can become seen, else it lingers hidden until finish() makes it seen for a split second and is then immediately closed, which makes the splash screen basically blink.

      I am programming in Python, so I am using PySide6, but the core issue lies in Qt6. The documentation should instruct to call splash->raise() in Qt6 docs and splash.raise_() in PySide6 docs to be called immediately after calling show() on the widget. But this should only be instructed for macOS users.

      But since this is an implementation detail, the call to this->raise() should be done by Qt6 itself internally, not having to be done by the programmer. Having this call does not change the behavior on Windows, but is crucial to have it on macOS, since this is one among many peculiarities of macOS's window manager (i.e., WindowServer).

      You'll find my minimal reproducible example (MRE) with debug outputs in the Attachments section of this bug report. All you need to do is to run the MRE code on macOS, then uncomment the #define APPLY_FIX macro (located immediately after the imports) and run the MRE code again.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            vestbo Tor Arne Vestbø
            pedantichacker Boštjan Mejak
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes