A use case for "old-style" slots is when you have dynamic connections, established at runtime from some config file: you get the names of the signals and the slots as strings. With the old style, your code can be as simple as QObject::connect(foo, signal_name_string, bar, slot_name_string);
With the new style, you would have to manually map the strings to the function pointers, hence modifying the connection code each time a new signal or slot is added. -- Yves Bailly Software developer > -----Original Message----- > From: Interest [mailto:interest-bounces+yves.bailly=verosoftware.com@qt- > project.org] On Behalf Of Nikos Chantziaras > Sent: Wednesday, March 16, 2016 3:25 PM > To: interest@qt-project.org > Subject: [Interest] Are slots even needed these days? > > Since in modern Qt you connect signals to functions/lambdas, is there a > reason to declare slots anymore? > > In other words, is there any difference between: > > class Foo: public QObject { > Q_OBJECT > > public slots: > void bar(); > }; > > and: > > class Foo: public QObject { > Q_OBJECT > public: > > void bar(); > }; > > I can connect to Foo::bar either way. If I don't intend to ever use the > old-style connect syntax, is there a reason to have "public slots:" > anymore? > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest