Partenza con una GUI

di il
14 risposte

Partenza con una GUI

Ciao, sto imparando a programmare in C++ e ho fatto i miei primi algoritmi con i classici output in console.
Ora vorrei aggiungerci una semplice interfaccia grafica come ad esempio Windows Form visto che lavoro su VisualStudio 2019.
Per provare a capire la logica sono partito da un modello C++ vuoto e ho creato un algoritmo semplicissimo che fa la somma di due numeri.
Dopodichè ho aggiunto un progetto AppWindows Form ma non ho idea come fare in modo che quest'ultimo passi i dati in input al file di calcolo vero e propio, e viceversa.
Allego un'immagine per farmi capire meglio.
Essendo agli inizi vi chiedo se conoscete qualche video, testo o altro che possa permettermi di imparare riguardo appunto il tema "interfaccia grafica".

Grazie mille
Allegati:
28560_7be6ece75d31b239cb029be3bc9a72c9.png
28560_7be6ece75d31b239cb029be3bc9a72c9.png

14 Risposte

  • Re: Partenza con una GUI

    Hai fatto un po' di confusione.

    Hai un progetto C++ (non sappiamo se Win32 nativo o CLR) e un altro progetto WinForm C# ... ma sono indipendenti, non c'entrano nulla l'uno con l'altro.
  • Re: Partenza con una GUI

    oregon ha scritto:


    Hai fatto un po' di confusione.

    Hai un progetto C++ (non sappiamo se Win32 nativo o CLR) e un altro progetto WinForm C# ... ma sono indipendenti, non c'entrano nulla l'uno con l'altro.
    Grazie della risposta.
    Immaginavo...
    Quale stumento mi consigli per iniziare a creare una semplice interfaccia grafica per i miei progtti C++?
  • Re: Partenza con una GUI

    Con il C++ è abbastanza complesso gestire una interfaccia grafica. Intanto hai due strade, crei un progetto .NET WinForm C++ (C++.NET ovvero C++/CLR) e hai a disposizione le librerie del framework .NET ma con un dialetto C++ un po' diverso e con tutte le particolarità di questo ambiente (gli eseguibili gireranno solo con .NET). Il C++.NET non è molto usato.

    Usi un progetto nativo Win32 C++ (senza .NET) e allora devi usare delle librerie grafiche perché il C++ standard non mette a disposizione librerie standard visuali. Tra le librerie più usate la Qt (per Windows o altri sistemi operativi), oppure GTK+, wxWidgets ...

    In ogni caso dovrai studiare e fare molta esperienza con tali librerie.

    Un'ultima alternativa è usare le API di Windows ma ovviamente te lo sconsiglio perché cui vuole molta esperienza e molto lavoro per ottenere risultati modesti.
  • Re: Partenza con una GUI

    Ho scaricato Qt proprio questa mattina.
    Mi metterò sotto con questo per vedere se riesco a ottenere qualcosa.
    Il mio problema ora è quello di riuscire a mettere in comunicazione il mio progetto C++ nativo con Qt.
    Sto iniziano a smanettare con Qt creator ma sono ancora distante dal risultato.

    Grazie mille
  • Re: Partenza con una GUI

    Beh ... non si usa Qt in una mattina ... vuoi una magia o vuoi imparare?
  • Re: Partenza con una GUI

    oregon ha scritto:


    Beh ... non si usa Qt in una mattina ... vuoi una magia o vuoi imparare?
    Assolutamente imparare.
    Se hai qualche dritta su libri, tutorial, etc.. sarebbe un aiuto prezioso.
    Oggi ho passato metà giornata appena per cercare di capire se Qt fa al caso mio o meno.
    Diciamo che una delle mie qualità fortunatamente è la costanza
  • Re: Partenza con una GUI

    Beh trovi parecchio ... comincia dal sito di qt

    https://doc.qt.io/qt-5/qtwidgets-tutorials-addressbook-part1-example.html
  • Re: Partenza con una GUI

    Mi confermate che con Qt creator è possibile fare una chiamata ad una dll?
    Ho cercato di tutto on line ma nonn ho trovato uno straccio di guida, tutorial, etc...
  • Re: Partenza con una GUI

    Che c'entra Qt Creator ? Che devi fare esattamente ?
  • Re: Partenza con una GUI

    oregon ha scritto:


    Che c'entra Qt Creator ? Che devi fare esattamente ?
    Allora, ho sviluppato un algoritmo per un calcolo termodinamico in c++ che funziona egregiamente ed ora vorrei generare un'interfaccia grafica in modo da imputare i dati (tipologia fluido, temperature di ingresso, portate, etc..) e dalla quale poter leggere i risultati del calcolo, cosa che attualmente riesco a fare solamente tramite console con i classici cin e cout. L'obbiettivo è quello di ottenere un exe ovviamente.

    Sono circa 5000 e passa righe di codice distribuite du diversi file quindi ho pensato che l'unico modo è creare una dll da chiamare attraverso un framework...o sbaglio?
    Beh, la dll sono riuscito a generarla (ci ho messo 1 giorno e mezzo per imparare come generarla e utilizzarla) e funziona chiamandola da un programma c++ da Visual Studio....
    Ora...che devo fare?
  • Re: Partenza con una GUI

    Ma perché la DLL? Non ha senso. Hai il tuo codice, beh, compilalo e usalo.

    Come faresti con la Console? Non mi dire che anche con la Console hai generato una DLL ...
  • Re: Partenza con una GUI

    Ho anche l'exe che funziona correttamente...quando lo apro ovviamente si apre la console nella quale posso inserire tutti gli input e leggere gli output.
    La mia domanda è: come faccio a costruirci attorno un'interfaccia grafica ?
    Non capisco...
  • Re: Partenza con una GUI

    Con la libreria Qt ma il resto (dll e cose varie) non c'entra nulla.

    Ti avevo dato un link da cui studiare i fondamenti della Qt e fare delle prove....
  • Re: Partenza con una GUI

    Io non ho capito se praticamente vuoi rendere quello che hai scritto come utility di calcolo termodinamico una libreria dinamica/statica che tutti possono utilizzare.

    E quindi, poi, costruirci un ulteriore programma che implementa l’interfaccia utente con Qt e chiama le funzioni della tua libreria… beh puoi eccome.

    Ma se non hai interesse di rendere pubblica la tua utility che senso ha una libreria?
Devi accedere o registrarti per scrivere nel forum
14 risposte