Oppure

Loading
09/08/10 8:32
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:

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???
aaa
09/08/10 9:48
nihal
Hai provato GTK+, o meglio, il suo wrapper C++? Potrebbe essere ciò che fa per te, anche se personalmente fra tutti preferisco Qt...
aaa
09/08/10 11:10
TheKaneB
Non ho capito alcune cose...

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...)

API Wn32 -> codice C, troppe macro

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

.Net -> Troppo managed

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

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?

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?

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 09/08/10 11:12
aaa
09/08/10 16:52
BlueWay
Postato originariamente da TheKaneB:

Non ho capito alcune cose...

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


Postato originariamente da TheKaneB:

.Net -> Troppo managed

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

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?

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


Postato originariamente da TheKaneB:

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 !!!)
aaa
09/08/10 18:10
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...
aaa
10/08/10 6:35
BlueWay
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).
aaa
10/08/10 10:30
nihal
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...
aaa
11/08/10 19:41
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...
aaa