Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Tecnica consigliata per esporre a video i dati di una matrice presente in un'altra classe
Forum Updated to NodeBB v4.3 + New Features

Tecnica consigliata per esporre a video i dati di una matrice presente in un'altra classe

Scheduled Pinned Locked Moved Solved Italian
7 Posts 2 Posters 2.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bvox123
    wrote on last edited by
    #1

    Buonasera. Rieccomi con un altro problema.
    Ho una classe che definisce una matrice di interi. All'interno della classe ho realizzato i metodi per assegnare i valori ai vari elementi della matrice. Poi alcuni dati di questa matrice devono essere esposti a video. Ho quindi un'altra classe tipo form con i campi che dovrebbero acquisire i giusti valori della matrice. Ho usato la tecnica di valorizzare i campi ui col riferimento all'istanza della classe matrice. Evidentemente questa tecnica non è corretta, dato che ho appurato che nella matrice i valori vengono calcolati correttamenti, ma a video riporta dati sballati. Quale tecnica si dovrebbe utilizzare per acquisire valori presenti su un'altra classe ?

    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #2

      @bvox123 said in Tecnica consigliata per esporre a video i dati di una matrice presente in un'altra classe:

      Ho una classe che definisce una matrice di interi

      Hai bisongo di copy-constructor (MiaClasse(const MiaClasse& other);) e/o assignment operator (MiaClasse& operator=(const MiaClasse& other);) per questa classe?

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0
      • B Offline
        B Offline
        bvox123
        wrote on last edited by
        #3

        Non capisco la domanda. Vorrei utilizzare il metodo più logico e coerente col c++. Credevo di avere operato correttamente, ma il risultato mi dice di no. Come si fa a collegare la classe matrice alla classe form_valori_di_matrice ?

        1 Reply Last reply
        0
        • VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by VRonin
          #4

          Il metodo corretto e' far ereditare QObject alla tua classe ma questo ti preclude l'uso della copia. se quello rappresenta un problema bisogna usare un "contenitore" nella forma di QObject. Da qui la mia domanda

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          1 Reply Last reply
          0
          • B Offline
            B Offline
            bvox123
            wrote on last edited by
            #5

            Scusa il ritardo: impegnato nel ruolo di nonno-babysitter.
            Vediamo se ho capito bene. Facendo derivare sia la classe matrice che la classe form_valori da QObject si crea una sorta di collegamento fra le due classi ? E' Così che bisogna operare ?

            VRoninV 1 Reply Last reply
            0
            • B Offline
              B Offline
              bvox123
              wrote on last edited by
              #6

              Ho trovato l'errore: ovviamente errore mio e non delle classi. Perdonate la mia irrazionalità.

              1 Reply Last reply
              0
              • B bvox123

                Scusa il ritardo: impegnato nel ruolo di nonno-babysitter.
                Vediamo se ho capito bene. Facendo derivare sia la classe matrice che la classe form_valori da QObject si crea una sorta di collegamento fra le due classi ? E' Così che bisogna operare ?

                VRoninV Offline
                VRoninV Offline
                VRonin
                wrote on last edited by
                #7

                @bvox123 said in Tecnica consigliata per esporre a video i dati di una matrice presente in un'altra classe:

                QObject si crea una sorta di collegamento fra le due classi ? E' Così che bisogna operare ?

                QObject permette di emettere segnali e puoi usarli per fare property binding:

                class ClassA : public QObject{
                Q_OBJECT
                Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
                Q_DISABLE_COPY(ClassA)
                public:
                ClassA(QObject* parent=Q_NULLPTR) : QObject(parent), m_value(0){}
                int value() const {return m_value;}
                void setValue(int val){
                if(m_value==val) return;
                m_value = val;
                emit valueChanged(m_value);
                }
                Q_SIGNAL void valueChanged(int);
                private:
                int m_value;
                }
                

                ora puoi connettere uno slot a valueChanged per aggiornare la GUI o usarlo direttamente in QML come una proprieta' (se usi QtQuick)

                "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                ~Napoleon Bonaparte

                On a crusade to banish setIndexWidget() from the holy land of Qt

                1 Reply Last reply
                0

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved