Splash Screen Showing Version Number

I think it would be nice if the splash screen displayed the version number in the top-right corner. Like this:

I am having a hard time implementing a static message (version number), because the showMessage() function is made for dynamic messages only.

Hi,

To provide some more context, the splashscreen is displayed at two different times:

  • by the application launcher while the application is loaded.
  • by the Slicer application itself while the modules are loaded

If you would like the version info to be visible through the entire loading time, both steps should probably be considered.

A simple solution (but not so elegant) would be to regenerate a new splashscreen daily. The cons of this approach is that it would bloat the Slicer history …

A more complete solution would be to teach both Slicer and the launcher to display version on top of the splashscreen

1 Like

A more complete solution would be to teach both Slicer and the launcher to display version on top of the splashscreen

Would it be efficient to connect the version display function to the messageChanged signal of the splash screen? If not, is there a better way?

I do not think connecting to messageChanged will be helpful. A possible approach would be subclass QSplashScreen into ctkSplashScreen by adding a method like showCornerMessage(const QString& msg, Qt::Corner corner).

The ctkSplashScreen class could be added to CTK and then reused in both Slicer and the launcher.

You could look at QSplashScreen::drawContents(QPainter *painter) to understand how the Qt API works.

1 Like

Do you really need to show versin info in the splash screen? We already have an about dialog that shows detailed version information and version is always visible in the title bar as well. Splash screen is only shown for a couple of seconds and you cannot copy-paste from it, so I think overall the about box is more useful.

2 Likes

It would be convenient for me because I have a button to terminate the Slicer process, which I could easily click if I find that I am loading the incorrect version of Slicer. It could be useful for other users having a similar setup to me.

I see. This use case makes sense but it is very narrow and I would not encourage anyone to to forcefully terminate an application (in unfortunate cases it might corrupt settings files etc).

1 Like