Qt World Summit: Register Today!

Displaying a launch image while the app binary loads?

  • Say you have a large (several megs) binary. This loads quite a while, giving the user no visual feedback on what's going on. iOS provides a mechanism for showing a launch image (sort of a splash screen) while the binary is being loaded - do we have any tools for making this happen with Qt?

    All I can think of is making a minimal app binary that would show an image after loading and then proceed to load the actual app from a library :/

    • Matti

  • [[doc:QSplashScreen]] ?

  • Well yes, that's a class for displaying a splash screen from code. Which doesn't help much since the binary needs to be loaded before code execution, if you read what I asked about.

  • Well obviously Qt can't do anything until the OS loads and starts executing your application, so a small wrapper binary (as you mentioned) would be the only option.

  • Which platform are you working on, btw?

  • Sounds like you'd either need a wrapper binary, or you'd need to build up your application more modular. In the latter case, you can make it be quite small and start quickly (and display an image or splash screen if you want), but then dynamically load the bits and pieces that do most of the work as plugins from dynamic libraries.

  • mlong: N9 for development, android (and whatever runs Qt when I deploy) for production.

    andre: yeah. I made a poor design choice early on in the project of compiling data (3D object geometry) into the app as C arrays instead of reading them from data files and now my binary is bloated quite a bit and deadline is getting nearer ;p

    I find the iOS launch image system very elegant (for those of you who do not know iOS: you include image file(s) named according to a certain convention in your App Bundle and the OS displays these images while it loads your app) - and since something like that would be really straightforward to support from the phone OS side, I hope Jolla or someone comes up with something similar in the future!

    • M

  • If you were deploying on the N9, then you could use /usr/bin/invoker in your .desktop file to launch your app; it can take a parameter for a splash screen graphic to use while its launching your program. It's very similar to the iOS thing. However, since you're not, I have nothing solid to offer for Android and other platforms, unfortunately.

  • Oh. Well that's nice then. I'll definitely be publishing for the N9 too but obviously that's not quite the mainstream market. Gotta look into Android/Necessitas for a similar approach. Cheers!

Log in to reply