[Development] A new approach for Qt main()

Mathias Hasselmann mathias at taschenorakel.de
Mon Dec 12 19:53:50 CET 2016


Seems this turned into a nice bike shed discussion quickly, so let me 
use the chance to present my preferred Qt main(). I am totally convinced 
that this one should rule the Qt world:

     class BlueBikeShedApplication : public QApplication

         using QApplication::QApplication;

         int run()
             if (!parseCommandLine())
                 return EXIT_FAILURE;
             if (!initializeColorBucket())
                 return EXIT_FAILURE;


             return exec();

     int main(int argc, char *argv[])
         return BlueBikeShedApplication{argc, argv}.run();

The big advantage I see in this approach is, that you work within a 
proper QObject context with fully setup QApplication early. Also this 
main() is sufficiently generic to be hidden in a platform specific 
macro, or static library.

Thank you for reading,

More information about the Development mailing list