PDA

Visualizza la versione completa : [C++] Interfaccia grafica


ing82
08-02-2015, 15:50
Programmo in C++ per creare dei piccoli programmini di supporto alla mia attività professionale (progettazione strutturale in edilizia) usando CodeBlocks, e fino ad ora ho sempre creato progetti del tipo "Console". Vorrei provare a creare un'interfaccia grafica a questi programmi, del tipo coi menù, pulsanti per scegliere le opzioni piuttosto che fare tutto da tastiera, ma i problemi sono i seguenti:

è possibile tenere divisa l'implementazione della interfaccia grafica in modo da crearne una base per tutte le applicazioni, a cui poi aggiungere funzioni specifiche per ogni programma, dall'implementazione del "cuore" dello stesso? Qualche link a materiale (ho cercato in questo forum con la stringa "gui c++", ma sono ancora più confuso di prima...)?
lo sviluppo per questa interfaccia, "deve" essere fatta in modo specifico per ciascun sistema operativo, o a parte qualche direttiva al compilatore o altro (spero di non aver detto castronerie) può essere fatta in modo generico (anche se per ora mi sarebbe già più che sufficiente in windows).

Grazie

paolino_delta_t
08-02-2015, 16:15
Mhm, la risposta corta è QT.

La risposta lunga è un pochettino articolata. Andiamo con ordine.

1. C++ non contempla il concetto di GUI, cioè non ha funzioni nella libreria standard dedicate allo sviluppo d'interfacce grafiche
2. Ogni sistema operativo può implementare o meno una serie di funzionalità per creare interfacce grafiche, oppure è possibile utilizzare librerie di terze parti che girano sul dato sistema operativo
3. Esistono librerie cross-platform ( QT e GTK+ in primis ) che consentono di scrivere programmi con GUI in grado di funzionare su tutti i più diffusi sistemi operativi
4. Il punto uno è fattibile, basta riutilizzare il codice ( copia-incolla !?! ) o creare delle librerie custom
5. Il punto due è fattibile solo se usi librerie cross-platform, altrimenti devi riscrivere il codice per la GUI per ognuno dei sistemi operativi che vuoi supportare

ing82
10-02-2015, 10:15
Mhm, la risposta corta è QT.

[...]
3. Esistono librerie cross-platform ( QT e GTK+ in primis ) che consentono di scrivere programmi con GUI in grado di funzionare su tutti i più diffusi sistemi operativi

Così a naso direi che QT e GTK+ potrebbero fare al caso mio.
Ma per usarle (uso CodeBlocks come IDE), a parte cercarsi documentazione da studiare, sono librerie da includere nel proprio programma?
Qualche link a documentazione che avete già consultato e vi sembra possa andare bene "a un ignorante" (ricordo che programmo per necessità, non per professione...), ma soprattutto, qualche esempio semplice semplice spiegato passo passo (tipo l'esempio riportato in wikipedia di Hello world http://it.wikipedia.org/wiki/Qt_%28toolkit%29, ma con qualche commento?
Grazie

Scara95
10-02-2015, 10:23
http://doc.qt.io
http://doc.qt.io/qt-5/qtexamplesandtutorials.html
http://doc.qt.io/qt-5/gettingstartedqt.html

paolino_delta_t
10-02-2015, 16:05
A parte la documentazione ufficiale che ti è stata consigliata, ti consiglio di usare QTCreator al posto di Codeblocks.

ing82
11-02-2015, 10:02
Grazie a tutti, adesso al lavoro...

Loading