Il 17/03/2016 06:23, Constantin Makshin ha scritto:
Another thing I personally don't like in the new connection syntax is that it forces signals to be public, making it possible to do all type of wonders by faking/simulating events on behalf of other objects.For example: QLineEdit* edit = new QLineEdit("foo"); // ... edit->textChanged("bar");
A good counterpart of this is that now a private "slot" is truly private, i.e. it's impossible to invoke it externally:
class Foo : public QObject {
Q_OBJECT
Foo() {
connect(something, &Signal, this, &Foo::doFoo);
}
private slots:
void doFoo(); // still reachable and invokable via QMetaObject
private:
void doFoo(); // unreachable from outside
};
Making the signals public is a tradeoff for ease of implementation and
usage (you would not otherwise be allowed to simply take the address of
a MF). A check about this could be added to clazy.
Cheers, -- Giuseppe D'Angelo | [email protected] | Senior Software Engineer KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908 KDAB - The Qt Experts
smime.p7s
Description: Firma crittografica S/MIME
_______________________________________________ Interest mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/interest
