Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Legare cambio immagine qml a file logica cpp



  • Ho disegnato due quadrati in qml :

    import QtQuick 2.9
    import QtQuick.Window 2.2
    
    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")
    
    
        Rectangle {
            width: 100
            height: 100
            color: "red"
            border.color: "black"
            border.width: 5
            radius: 10
        }
    
    
        Rectangle {
    
            x: 100
            width: 100
            height: 100
            color: "blue"
            border.color: "black"
            border.width: 5
            radius: 10
        }
    }
    

    Ho costruito un file logica.h e logica.cpp
    in cui voglio far girare un contatore ogni secondo e stampare il progressivo del conteggio e per ciascuno secondo alternare il quadrato rosso e blu.

    logica.h :

    #ifndef LOGICA_H
    #define LOGICA_H
    
    #include <QObject>
    #include <QTcpServer>
    #include <QTcpSocket>
    #include <QThread>
    
    class Logica : public QObject
    {
        Q_OBJECT
    
    public:
        explicit Logica(QObject *parent = 0);
         static void sleep(unsigned long  msecs) {QThread:: sleep(msecs);}
    
    private:
    
    private slots:
    void StateMachine();
    signals:
    };
    #endif //LOGICA_H
    

    logica.cpp:

    #include <QDebug>
    
    int static count=0;
    
    Logica::Logica(QObject *parent) :
        QObject(parent)
    {
       QTimer *timer = new QTimer(this);
       timer->start(1000);             // timer su 1 secondo
       connect(timer, SIGNAL(timeout()), this, SLOT(StateMachine()));
    }
    
    void Logica:: StateMachine()
    {
        //  sleep(1);
        count++;
        qDebug()<< " valore del contatore è: " << count;
        if (count==100)
            count=0;
    }
    

    Non riesco a capire
    come legare la visualizzazione dei rettangoli disegnati nel qml con l'avanzare progressivo della variabile count inclusa nel file .cpp




Log in to reply