#include #include #include #include #include #include "synchronisable.h" int main(int argc, char *argv[]) { #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #endif QGuiApplication app(argc, argv); QQmlApplicationEngine engine; const QUrl url(QStringLiteral("qrc:/main.qml")); QObject::connect( &engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject *obj, const QUrl &objUrl) { if (!obj && url == objUrl) QCoreApplication::exit(-1); }, Qt::QueuedConnection); Synchronisable s{42}, copie{1}; qDebug() << "==Sans connexion=="; s.setCpt(122); qDebug() << "s: " << s.cpt() << "copie: " << copie.cpt() ; // Connecte le signal cptChanged de s au slot setCpt de copie QObject::connect(&s, &Synchronisable::cptChanged, &copie, &Synchronisable::setCpt); s.setCpt(9); qDebug() << "==Avec connexion=="; qDebug() << "s: " << s.cpt() << "copie: " << copie.cpt() ; QTimer timer; QObject::connect(&timer, &QTimer::timeout, &s, &Synchronisable::inc); QObject::connect(&s, &Synchronisable::cptChanged, [&s](){ qDebug() << s.cpt(); } ); timer.start(1000); engine.rootContext()->setContextProperty("miam", &s); engine.load(url); return app.exec(); }