Grafica di base
-
Buongiorno a tutti.
Mi sto appena addentrando nell'ambiente Qt e volevo chiedervi un consiglio su come usarlo al meglio.
Dovrei creare un'applicazione desktop (ho quindi una QMainWindow) che contiene principalmente una QTabWidget con 4 tabs (allego figura).Ora nella prima tab dovrei creare un'array di circa 300 rettangoli. Ogni rettangolo corrisponde ad un apparato il cui stato dovrà essere letto via messaggi UDP (ma questo verrà dopo...). Il colore di riempimento del singolo rettangolo darà un'idea del suo stato (verde=ok/giallo=degraded/rosso=ko).
I rettangoli penso debbano essere creati a runtime, non nel designer ma possono essere disegnati direttamente sulla QTabWidget o bisogna creare un contenitore su di essa?
Potreste darmi qualche suggerimento sulle classi da usare?
Ovviamente bisognerebbe anche far in modo che con il click su un singolo rettangolo si possa aprire una msgbox contenente ulteriori dettagli sullo stato.
Grazie a tutti! -
Hai essenzialmente 2 alternative e dipendono da come vuoi mostrare i dati:
QTableWidget
mostra una tabella di celle. Ne puoi creare quante vuoi.QGraphicsView
mostra oggetti grafici nella posizione che vuoi. Credo che l'esempio piu' calzante sia 40000 Chips
-
Ormai ho perso il conto di quante volte ho implementato la supervizione in C++ o Delphi e via così. Ad ogni modo la seguente è l'interfaccia per i tecnici di monitoring impinato
e questa è l'interfaccia utente finale.
Il form sulla destra avrebbe il live della telecamera. Si tratta di un cruscotto che si compone in base a ciò che si vuole tenere sott'occhio.
Divertiti. Ciao ciao.
-
@VRonin said in Grafica di base:
Hai essenzialmente 2 alternative e dipendono da come vuoi mostrare i dati:
QTableWidget
mostra una tabella di celle. Ne puoi creare quante vuoi.QGraphicsView
mostra oggetti grafici nella posizione che vuoi. Credo che l'esempio piu' calzante sia 40000 Chips
Grazie VRonin, ho utilizzato una QGraphicView come hai suggerito.
In particolare ho creato una QGraphicScene e l'ho inserita nella QGraphicView.
Nella QGraphicScene ho visto che si possono utilizzare AddRect, AddText ed altri.Un'ultima domanda: se volessi invece creare una QT Quick Application per avere un'applicazione Android (utilizzando quindi QML) questi concetti di QGraphicView/Scene/AddRect restano applicabili o concettualmente cambia tutto?
Grazie
Gianluca -
In realta' usando QML puoi andare oltre QGraphicView/Scene, viene spiegato in questo blog: http://blog.qt.io/blog/2017/01/19/should-you-be-using-qgraphicsview/
-
@VRonin said in Grafica di base:
In realta' usando QML puoi andare oltre QGraphicView/Scene, viene spiegato in questo blog: http://blog.qt.io/blog/2017/01/19/should-you-be-using-qgraphicsview/
Grazie per la risposta.
E' bastato approfondire il link per capire tutte le potenzialità, veramente notevoli.
Saluti