Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - GUI in C++ & sbocchi nel C#
Forum - C/C++ - GUI in C++ & sbocchi nel C#

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
BlueWay (Normal User)
Rookie


Messaggi: 49
Iscritto: 21/03/2010

Segnala al moderatore
Postato alle 10:32
Lunedì, 09/08/2010
Ho studiato tutto ciò che mi è stato possibile trovare sul C++. Ora sono arrivato ad un quesito amletico: come fare le GUI in C++ ??? Ho provato:

API Wn32 -> codice C, troppe macro
.Net -> Troppo managed
WxWidgets-> A questo punto, meglio le API
Qt -> Il migliore finora, però troppo sviluppato su se stesso

Poi ho pensato di realizzare le applicazioni console in C++, e le versioni GUI in C#.
Voi che ne dite?? Che mi consigliate???

PM Quote
Avatar
nihal (Ex-Member)
Pro


Messaggi: 109
Iscritto: 12/04/2010

Segnala al moderatore
Postato alle 11:48
Lunedì, 09/08/2010
Hai provato GTK+, o meglio, il suo wrapper C++? Potrebbe essere ciò che fa per te, anche se personalmente fra tutti preferisco Qt...

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 13:10
Lunedì, 09/08/2010
Non ho capito alcune cose...

Testo quotato

Postato originariamente da BlueWay:

Ho studiato tutto ciò che mi è stato possibile trovare sul C++. Ora sono arrivato ad un quesito amletico: come fare le GUI in C++ ??? Ho provato:



Vuoi fare le GUI così tanto per passarti il tempo, oppure devi realizzare un progetto? In tal caso, quali sono le specifiche del progetto? (Sistema Operativo, Parametri di usabilità, target dell'applicazione, restrizioni e specifiche riguardo la GUI, ecc...)

Testo quotato


API Wn32 -> codice C, troppe macro


Ci siamo, le API nude e crude meglio evitarle. Meglio usare le vecchie (ma ancora usate) classi MFC.

Testo quotato


.Net -> Troppo managed


Che vuol dire "troppo managed"? O_o''
.Net è un ambiente di esecuzione protetto, managed appunto, non esiste poco o troppo...

Testo quotato


WxWidgets-> A questo punto, meglio le API


Perchè? wxWidgets è un framework multipiattaforma, con un solo codice compili su almeno 3 sistemi operativi diversi. Sei sicuro che sia meglio usare le API?

Testo quotato


Qt -> Il migliore finora, però troppo sviluppato su se stesso


Questa poi non l'ho capita affatto... Qt 4.x è probabilmente il miglior framework C++ per realizzare GUI multipiattaforma. Che vuol dire "troppo sviluppato su se stesso"? Prendi in giro o che cosa?

Testo quotato


Poi ho pensato di realizzare le applicazioni console in C++, e le versioni GUI in C#.
Voi che ne dite?? Che mi consigliate???



ti dico che sarebbe una boiata! Perchè dovresti riscrivere 2 volte lo stesso progetto in 2 linguaggi diversi e non compatibili tra loro?
Posso capire un engine fatto in C e la GUI in C++, posso capire l'engine in C# e la GUI in VB.Net, posso anche capire un engine in Pascal e la GUI in Delphi... ma che senso ha l'accoppiata che hai mostrato tu?

:-|


Ultima modifica effettuata da TheKaneB il 09/08/2010 alle 13:12
PM Quote
Avatar
BlueWay (Normal User)
Rookie


Messaggi: 49
Iscritto: 21/03/2010

Segnala al moderatore
Postato alle 18:52
Lunedì, 09/08/2010
Testo quotato

Postato originariamente da TheKaneB:

Non ho capito alcune cose...

Testo quotato

Postato originariamente da BlueWay:

Ho studiato tutto ciò che mi è stato possibile trovare sul C++. Ora sono arrivato ad un quesito amletico: come fare le GUI in C++ ??? Ho provato:



Vuoi fare le GUI così tanto per passarti il tempo, oppure devi realizzare un progetto? In tal caso, quali sono le specifiche del progetto? (Sistema Operativo, Parametri di usabilità, target dell'applicazione, restrizioni e specifiche riguardo la GUI, ecc...)



Le informazioni mi servivano a scopo didattico, ma non escludo che le avrei applicate ad un progetto che sto sviluppando: Skrypt, un semplice cifratore di stringhe, con le seguenti specifiche:

1-OS: Windows
2-Usabilità: tutti gli utenti (dunque graficamente elementare)
3-Portable: si


Testo quotato

Postato originariamente da TheKaneB:

Testo quotato


.Net -> Troppo managed


Che vuol dire "troppo managed"? O_o''
.Net è un ambiente di esecuzione protetto, managed appunto, non esiste poco o troppo...

Testo quotato


WxWidgets-> A questo punto, meglio le API


Perchè? wxWidgets è un framework multipiattaforma, con un solo codice compili su almeno 3 sistemi operativi diversi. Sei sicuro che sia meglio usare le API?

Testo quotato


Qt -> Il migliore finora, però troppo sviluppato su se stesso


Questa poi non l'ho capita affatto... Qt 4.x è probabilmente il miglior framework C++ per realizzare GUI multipiattaforma. Che vuol dire "troppo sviluppato su se stesso"? Prendi in giro o che cosa?



.Net -> risulta quasi impossibile l'utilizzo dei tipi contenuti nella STL. Gli unici tipi utilizzabili sono quelli del framework

WxWidgets -> vi è un uso di macro enorme, molto simile a quello delle API

Qt -> troppo alieno dal C++ standard, anche se non ai livelli del .Net FW


Testo quotato

Postato originariamente da TheKaneB:

Testo quotato


Poi ho pensato di realizzare le applicazioni console in C++, e le versioni GUI in C#.
Voi che ne dite?? Che mi consigliate???



ti dico che sarebbe una boiata! Perchè dovresti riscrivere 2 volte lo stesso progetto in 2 linguaggi diversi e non compatibili tra loro?
Posso capire un engine fatto in C e la GUI in C++, posso capire l'engine in C# e la GUI in VB.Net, posso anche capire un engine in Pascal e la GUI in Delphi... ma che senso ha l'accoppiata che hai mostrato tu?

:-|




Comprendo, e non posso che concordare, ma finora è l'unico mezzo che ho trovato per lo sviluppo di GUI senza troppo deviare dallo standard di linguaggio (il C# è nativamente basato sul .Net FW !!!)

PM Quote
Avatar
nihal (Ex-Member)
Pro


Messaggi: 109
Iscritto: 12/04/2010

Segnala al moderatore
Postato alle 20:10
Lunedì, 09/08/2010
Perchè dici che Qt è "alieno" dal C++ standard? È ovvio che per ciò che tu hai intenzione di fare ti serve solo il modulo per la GUI, non hai bisogno delle altre classi del framework (i tipi QChar ecc. e le strutture dati), quindi tutto questo "alieno" sinceramente non ce lo vedo. È chiaro che, siccome il C++ non ha un toolkit predefinito per la costruzione di GUI, come accade per il Java o per il C#, un pò di differenza si avrà comunque...

PM Quote
Avatar
BlueWay (Normal User)
Rookie


Messaggi: 49
Iscritto: 21/03/2010

Segnala al moderatore
Postato alle 8:35
Martedì, 10/08/2010
Testo quotato

Postato originariamente da nihal:

Perchè dici che Qt è "alieno" dal C++ standard? È ovvio che per ciò che tu hai intenzione di fare ti serve solo il modulo per la GUI, non hai bisogno delle altre classi del framework (i tipi QChar ecc. e le strutture dati), quindi tutto questo "alieno" sinceramente non ce lo vedo. È chiaro che, siccome il C++ non ha un toolkit predefinito per la costruzione di GUI, come accade per il Java o per il C#, un pò di differenza si avrà comunque...


Invece mi servono, prima tra tutte Qstring, perchè non ci sono altri mezzi per prelevare il contenuto delle EditBox (le stringhe standard non le supporta).

PM Quote
Avatar
nihal (Ex-Member)
Pro


Messaggi: 109
Iscritto: 12/04/2010

Segnala al moderatore
Postato alle 12:30
Martedì, 10/08/2010
La classe QString ha il metodo toStdString() che ti restituisce una stringa uguale a quella contenuta nell'oggetto QString, e ciò vale per la maggior parte dei tipi di dato Qt...

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 21:41
Mercoledì, 11/08/2010
e invece fare una DLL in C++ con il cuore del programma e la gui in C#??? E' la cosa più normale che ci sia...

PM Quote
Avatar
BlueWay (Normal User)
Rookie


Messaggi: 49
Iscritto: 21/03/2010

Segnala al moderatore
Postato alle 22:46
Mercoledì, 11/08/2010
Testo quotato

Postato originariamente da lorenzo:

e invece fare una DLL in C++ con il cuore del programma e la gui in C#??? E' la cosa più normale che ci sia...


E come crei, in una DLL C++, delle funzioni string, se il PInvoke va sempre fatto in C#, e quindi con la lettura del tipo string come System.String ??

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo