Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Connessioni a run-time
QtWS25 Last Chance

Connessioni a run-time

Scheduled Pinned Locked Moved Solved Italian
10 Posts 2 Posters 1.5k 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.
  • A Offline
    A Offline
    addebito
    wrote on 12 Sept 2019, 22:04 last edited by
    #1

    Ciao a tutti,

    sono nuovo nel forum e conosco poco del Qt Framework.
    Sto leggendo un pò di tutorial, ho acquistato dei libri, etc...
    Sono un programmatore Delphi da diversi anni ma sto cercando di passare al C++ per diversi motivi... multipiattaforma, performance, GUI fantastiche, librerie esterne fatte in C++, etc...

    Venendo alla mia domanda, c'è modo di recuperare a run-time delle informazioni su un oggetto istanziato?
    RTTI o qualcosa del genere in QT?

    Quello che vorrei realizzare è qualcosa del genere:
    alt text
    ...ovvero dei tools (box) che hanno dei pin d'ingresso e pin di uscita e se sono "compatibili" possono essere collegati tra loro.
    Per fare ciò a run-time il programma deve girare su tutti i pins degli items (box) presenti e verificare la compatibilità dei pins. (Es: Integer <--> Integer).

    Ringrazio in anticipo e ovviamente ogni suggerimento / dritta saranno ben accetti!

    1 Reply Last reply
    0
    • V Offline
      V Offline
      VRonin
      wrote on 13 Sept 2019, 10:50 last edited by
      #2

      Il link non funziona quindi e' difficile capire esattamente cosa ti serve

      "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

      A 1 Reply Last reply 13 Sept 2019, 15:55
      0
      • V VRonin
        13 Sept 2019, 10:50

        Il link non funziona quindi e' difficile capire esattamente cosa ti serve

        A Offline
        A Offline
        addebito
        wrote on 13 Sept 2019, 15:55 last edited by
        #3

        Perdonami @vronin, hai ragione.
        E' uno screenshot di blender.

        0_1568390101299_01.png

        1 Reply Last reply
        0
        • V Offline
          V Offline
          VRonin
          wrote on 13 Sept 2019, 16:09 last edited by
          #4

          Non mi e' chiaro perche ti dovrebbe servire RTTI per una cosa come questa. e' perfettamente gestibile dai singoli oggetti senza dover aprire il cofano al linguaggio stesso

          "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

          A 1 Reply Last reply 17 Sept 2019, 04:28
          0
          • A Offline
            A Offline
            addebito
            wrote on 13 Sept 2019, 21:23 last edited by
            #5

            Nello specifico, nell'applicazione in Delphi che avevo realizzato le utilizzavo per andare a leggere gli attributi sulle property ed altro... Tuttavia, venendo a QT, avete qualche dritta, qualche spunto o esempio da cui partire?
            Grazie, ogni suggerimento è ben accetto.

            1 Reply Last reply
            0
            • V VRonin
              13 Sept 2019, 16:09

              Non mi e' chiaro perche ti dovrebbe servire RTTI per una cosa come questa. e' perfettamente gestibile dai singoli oggetti senza dover aprire il cofano al linguaggio stesso

              A Offline
              A Offline
              addebito
              wrote on 17 Sept 2019, 04:28 last edited by
              #6

              Buongiorno,

              davvero nessuno ha qualche spunto su dove/come partire ??!?
              @vronin ?

              Grazie in anticipo.

              1 Reply Last reply
              0
              • V Offline
                V Offline
                VRonin
                wrote on 17 Sept 2019, 07:52 last edited by VRonin
                #7

                Quelli sono widgets*, ogni widget* avra' cura di controllare cosa puo' connettersi a cosa. Non e' chiaro perche' tu voglia una generica interfaccia che gestisca le proprieta', quelle sono specifiche della subclass, non devi fare cose strane utilizzando QVariant o Q_PROPERTY.

                *widget in senso lato. dall'immagine potrebbero anche essere QGraphicsItem

                "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

                A 1 Reply Last reply 18 Sept 2019, 04:17
                0
                • V VRonin
                  17 Sept 2019, 07:52

                  Quelli sono widgets*, ogni widget* avra' cura di controllare cosa puo' connettersi a cosa. Non e' chiaro perche' tu voglia una generica interfaccia che gestisca le proprieta', quelle sono specifiche della subclass, non devi fare cose strane utilizzando QVariant o Q_PROPERTY.

                  *widget in senso lato. dall'immagine potrebbero anche essere QGraphicsItem

                  A Offline
                  A Offline
                  addebito
                  wrote on 18 Sept 2019, 04:17 last edited by
                  #8

                  Grazie @vronin ,
                  dalle tue risposte mi rendo conto di non aver descritto cosa ho in mente. Ci provo...
                  Quei widgets* (che da ora chiamo tools) sono delle classi che svolgono un determinato compito.

                  Es:
                  Tool Pattern Matching
                  Tool Canny Filter
                  Tool Misura Distanza tra 2 Punti
                  Tool Misura Cerchio
                  Tool Datamatrix

                  In ingresso ricevono dei dati (solitamente un'immagine) ed in uscita generano un risultato (un valore, una coordinata x,y, un'immagine elaborata, etc...).
                  Il software che voglio realizzare avrà una lista di questi tools, l'utente dovrà sceglierli e collegarli tra di loro per ottenere un risultato finale che a seconda dei parametri dirà se l'immagine in input è buona o di scarto.
                  Es: il Tool Datamatrix avrà il compito di leggere e verificare con una stringa campione il risultato, se uguale l'immagine sarà buona altrimenti di scarto.

                  Assolutamente si, graficamente i Tools li vedo come dei QGraphicsItems perchè da quanto ho visto negli esempi le classi QGraphicsView / Scene sembrano quello che cerco.
                  Tu che ne dici?

                  Infine, a livello di codice, ho dei dubbi su come implementare i "pin" di connessione tra i tools.
                  Potrebbe essere corretto fare delle sotto classi PinInput<T> e PinOutput<T> ?
                  Oppure invece di utilizzare i generics vi viene in mente qualche altra modalità in QT?
                  Signal e Slot?

                  Grazie per la pazienza e per il supporto.

                  V 1 Reply Last reply 18 Sept 2019, 07:25
                  0
                  • A addebito
                    18 Sept 2019, 04:17

                    Grazie @vronin ,
                    dalle tue risposte mi rendo conto di non aver descritto cosa ho in mente. Ci provo...
                    Quei widgets* (che da ora chiamo tools) sono delle classi che svolgono un determinato compito.

                    Es:
                    Tool Pattern Matching
                    Tool Canny Filter
                    Tool Misura Distanza tra 2 Punti
                    Tool Misura Cerchio
                    Tool Datamatrix

                    In ingresso ricevono dei dati (solitamente un'immagine) ed in uscita generano un risultato (un valore, una coordinata x,y, un'immagine elaborata, etc...).
                    Il software che voglio realizzare avrà una lista di questi tools, l'utente dovrà sceglierli e collegarli tra di loro per ottenere un risultato finale che a seconda dei parametri dirà se l'immagine in input è buona o di scarto.
                    Es: il Tool Datamatrix avrà il compito di leggere e verificare con una stringa campione il risultato, se uguale l'immagine sarà buona altrimenti di scarto.

                    Assolutamente si, graficamente i Tools li vedo come dei QGraphicsItems perchè da quanto ho visto negli esempi le classi QGraphicsView / Scene sembrano quello che cerco.
                    Tu che ne dici?

                    Infine, a livello di codice, ho dei dubbi su come implementare i "pin" di connessione tra i tools.
                    Potrebbe essere corretto fare delle sotto classi PinInput<T> e PinOutput<T> ?
                    Oppure invece di utilizzare i generics vi viene in mente qualche altra modalità in QT?
                    Signal e Slot?

                    Grazie per la pazienza e per il supporto.

                    V Offline
                    V Offline
                    VRonin
                    wrote on 18 Sept 2019, 07:25 last edited by
                    #9

                    @addebito said in Connessioni a run-time:

                    classi QGraphicsView / Scene sembrano quello che cerco.
                    Tu che ne dici?

                    Concordo

                    Potrebbe essere corretto fare delle sotto classi PinInput<T> e PinOutput<T>

                    No, il mio punto e' proprio questo, il pin non e' un oggetto allo stesso livello dei tools. E' parte del tool stesso. Sta al tool disegnarli e gestire i click sulle diverse parti. Il tool sapra' sempre a cosa puo' collegarsi. Per esempio: clickly su un pin di un tool che accetta stringhe, il tool manda il tipo al suo controllere (QMetaType::QString) e lui lo salva in una variabile, poi clickly sul pin di un altro tool e il controller gli manda il tipo. Se e' compatibile il tool dira' al controller di completare il collegamento.

                    "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
                    1
                    • A Offline
                      A Offline
                      addebito
                      wrote on 20 Sept 2019, 19:45 last edited by
                      #10

                      @VRonin Grazie del tempo dedicatomi, ora ho un punto di partenza.

                      1 Reply Last reply
                      0

                      10/10

                      20 Sept 2019, 19:45

                      • Login

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