[Development] A new approach for Qt main()

Simon Hausmann Simon.Hausmann at qt.io
Tue Dec 13 10:36:54 CET 2016


Hi,


The joke of the bikeshedding aside I for one do like the idea of exporting a QObject sub-class instead of a function. That makes it easier to extend in the future with more entry-points as slots for example.




Simon

________________________________
From: Development <development-bounces+simon.hausmann=qt.io at qt-project.org> on behalf of Mathias Hasselmann <mathias at taschenorakel.de>
Sent: Monday, December 12, 2016 7:53:50 PM
To: development at qt-project.org
Subject: Re: [Development] A new approach for Qt main()

Hi,

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
     {
         Q_OBJECT

     public:
         using QApplication::QApplication;

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

             setupBrush();

             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,
Mathias
_______________________________________________
Development mailing list
Development at qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20161213/d6c84ea0/attachment.html>


More information about the Development mailing list