PDA

View Full Version : [C++] IDE con tool per GUI wxwidgets/gtk+


-Slash
08-11-2007, 20:49
Ciao a tutti :D

Premetto che sono un user linux convinto, quindi ide/GUI designer dovrebbero girare su questo so, volevo chiedervi un po' di cose...

Sono alla ricerca di un ide c++ che abbia intergrato un designer di gui, una cosa diciamo che funzioni "alla visual basic" con le dovute proporzioni ovviamente, nel senso che non è che non voglio scrivere manco una riga di codice :D
deve scrivere gui con una libreria che possa funzionare senza diciamo installazioni aggiuntive sia su windows che su linux, e possibilmente che si integri bene in ogni contesto... avevo quindi pensato senza esitazioni a wxwidgets, oppure alle gtk+, ma per queste ultime vorrei che funzionasse come firefox per windows, nel senso che nella stessa cartella dell'eseguibile metto le dll libgtk pango e compagnia e sono apposto, non come gimp dove devono essere proprio installate le librerie...

Come IDE ho provato in ordine eclipse, anjuta, Code::Blocks. Il primo è consigliato dal nostro professore di fondamenti di informatica, che lo ama, ma a me pare un po' troppo orientato a java, e come editor di interfacce visual editor ho sentito che fa abbastanza schifo. Anjuta non mi piace, perchè non mi piace per la verità neanche glade, Code::Blocks secondo me è molto molto buono, ha qualche difetto(l'interfaccia non è proprio "professionale") e wxsmith che non mi piaccia moltissimo, ma lo utilizzo da poco e mi sembra buono...

In particolare, per quanto riguarda il disegnatore di interfacce vorrei fosse cosi come qtdesigner
http://dist.trolltech.com/video/browser.html

ossia che fosse facile disegnarle e ridimensionarle. wxsmith spesso mi fa dannare per il ridimensionamento con alcune widget, glade molto peggio, non riesco a fare assolutamente niente :D

Ricapitolando vorrei :D

1) un IDE C++ con un gui designer che si comporti come qtdisegner(che sarebbe davvero l'ideale) ma che utilizzi come libreria wxwidgets o simile(gtk+ come in firefox pero, non in gimp), mi va bene anche solo un gui designer a parte e poi come ide utilizzo code::blocks o eclipse. Il gui designer è la mia priorità :D
2) qualche dritta sull'utilizzo delle interfacce grafiche con codice generato dai gui designer senza la conoscenza delle librerie grafiche. al momento purtroppo non ho tempo e neanche la pratica necessaria per imparare le librerie. vorrei semplicemente per esempio capire come una volta creati un widget per inserimento di testo e un label "dire" al programma "vammi a prendere cin da quello e scrivi cout nel label", oppure una volta creati due wxradiobutton "dirgli" "se è selezionato il primo fai questo, se invece è selezionato l'altro fai quest'altro". tutto questo preferirei in wxwidgets, visto che penso siano le librerie che fanno al caso mio... al limite qualche link se lo conoscete dove posso trovare quello che mi serve

Grazie per l'infinita pazienza :D

cionci
08-11-2007, 22:22
Hai provato wxSmith ? E' il gui designer integrato in Code:Blocks ;)

-Slash
08-11-2007, 22:43
Hai provato wxSmith ? E' il gui designer integrato in Code:Blocks ;)
sisi, come scritto l'ho provato, è abbastanza buono, solo spesso mi fa dannare perchè i widgets è come se si incantassero e non si ridimensionano, specie quelli un po' piu complessi...

comunque l'intero ambiente code::blocks mi soddisfa abbastanza, vorrei solo magari provarne altri per compararli, e poi quando ho visto il video di qt designer mi è piaciuto moltissimo, e quindi mi chiedevo se ci fosse un tool molto simile a quello per wxwidgets o altre librerie che si adattino alle mie esigenze :D

cionci
08-11-2007, 22:51
Prova a cercare wxGlade...o Glade per GTK+.
Il problema è che su Windows Glade non credo che vada...

-Slash
08-11-2007, 22:58
Prova a cercare wxGlade...o Glade per GTK+.
Il problema è che su Windows Glade non credo che vada...
come scritto sempre sopra con glade non sono molto avvezzo diciamo :asd: anzi a dir la verità mi pare un po' macchinoso(o piu probabilmente sono io che non so usarlo) :D

non mi piace di glade il fatto che devo dividere la schermata in varie parti, io vorrei poter trascinare le widgets e ridimensionarle al volo alla visual basic diciamo, o qt designer :)

cionci
08-11-2007, 23:10
Comunque un'occhiata a wxGlade la darei...
Guarda anche questo: http://visualwx.altervista.org/
E questi gui builder: http://www.wxcommunity.com/modules.php?op=modload&name=Downloads&file=index&req=viewsdownload&sid=4

tomminno
08-11-2007, 23:54
come scritto sempre sopra con glade non sono molto avvezzo diciamo :asd: anzi a dir la verità mi pare un po' macchinoso(o piu probabilmente sono io che non so usarlo) :D

non mi piace di glade il fatto che devo dividere la schermata in varie parti, io vorrei poter trascinare le widgets e ridimensionarle al volo alla visual basic diciamo, o qt designer :)

Diciamo che allora dovresti prima cercare di capire il funzionamento di quella "grande invenzione" che sono i sizer (non so se come concetto siano stati introdotti da Java o da qualche altro linguaggio).
Visto che parli di VB hai idea di cosa succeda al layout quando ridimensioni la finestra? Stesso discorso anche per C#, devi ancorare ogni controllo al bordo della finestra, una palla micidiale.
Una volta provati non si può pensare di realizzare una interfaccia grafica senza.
Con i sizer dici che tutto quello che sta dentro deve essere disposto orizzontalmente oppure verticalmente e come deve essere allineato, se deve essere espanso oppure non deve variare con le dimensioni della finestra.
Per layout più complessi poi ci sono le griglie flessibili, al cui interno verranno inseriti dei sizer.
Così sei sicuro che l'aspetto che decidi di dare all'interfaccia rimarrà immutato qualunque sia la risoluzione, in quanto i sizer penseranno a calcolare la corretta posizione dei controlli.
Inoltre puoi anche scegliere le proporzioni di accrescimento relativo delle varie sezioni. Insomma cose che con l'editor VB non puoi fare e con C# devi dannarti l'anima per realizzare. A prima vista sembrano editor perfetti in realtà sono validi solo se devi realizzare interfacce grafiche molto semplici.
Mi viene da ridere a pensare di realizzare con l'editor C# quello che si può fare con le wxAUI, VB poi è troppo vecchio per certe cose.

Sarò antiquato ma io le interfacce le scrivo a mano, all'inizio un RAD può essere comodo per comprendere meglio tutti i paramentri dei sizer, ma una volta appresi ci vuole un attimo a scrivere tutto da sè.

-Slash
09-11-2007, 19:09
Comunque un'occhiata a wxGlade la darei...
Guarda anche questo: http://visualwx.altervista.org/
E questi gui builder: http://www.wxcommunity.com/modules.php?op=modload&name=Downloads&file=index&req=viewsdownload&sid=4[/QUOTE
è solo per windows :stordita:
[QUOTE=tomminno;19544945]Diciamo che allora dovresti prima cercare di capire il funzionamento di quella "grande invenzione" che sono i sizer (non so se come concetto siano stati introdotti da Java o da qualche altro linguaggio).
Visto che parli di VB hai idea di cosa succeda al layout quando ridimensioni la finestra? Stesso discorso anche per C#, devi ancorare ogni controllo al bordo della finestra, una palla micidiale.
Una volta provati non si può pensare di realizzare una interfaccia grafica senza.
Con i sizer dici che tutto quello che sta dentro deve essere disposto orizzontalmente oppure verticalmente e come deve essere allineato, se deve essere espanso oppure non deve variare con le dimensioni della finestra.
Per layout più complessi poi ci sono le griglie flessibili, al cui interno verranno inseriti dei sizer.
Così sei sicuro che l'aspetto che decidi di dare all'interfaccia rimarrà immutato qualunque sia la risoluzione, in quanto i sizer penseranno a calcolare la corretta posizione dei controlli.
Inoltre puoi anche scegliere le proporzioni di accrescimento relativo delle varie sezioni. Insomma cose che con l'editor VB non puoi fare e con C# devi dannarti l'anima per realizzare. A prima vista sembrano editor perfetti in realtà sono validi solo se devi realizzare interfacce grafiche molto semplici.
Mi viene da ridere a pensare di realizzare con l'editor C# quello che si può fare con le wxAUI, VB poi è troppo vecchio per certe cose.

Sarò antiquato ma io le interfacce le scrivo a mano, all'inizio un RAD può essere comodo per comprendere meglio tutti i paramentri dei sizer, ma una volta appresi ci vuole un attimo a scrivere tutto da sè.
hai ragione. ma siccome io gia faccio una facoltà molto difficile(ing info) non è che abbia molto tempo da dedicare a studiare cose extrauni... quindi mi piacerebbe avere un gui designer come quello qt :D

e poi mi piacerebbe sapere perchè per firefox che è scritto in gtk basta mettere un paio di dll nella cartella dell'eseguibile mentre invece per gimp che è scritto sempre in gtk bisogna installare tutta la libreria

cionci
10-11-2007, 09:49
Purtroppo non credo che ce ne siano altri free, almeno per wxWidgets. A pagamento ce ne sono diversi. Ad esempio questo: http://www.roebling.de/

Per GTK+ prova questo: http://gazpacho.sicem.biz/
Ci sarebbe anche un certo Gideon, ma a quanto vedo non funziona il sito ufficiale su sourceforge...

-Slash
10-11-2007, 13:10
Purtroppo non credo che ce ne siano altri free, almeno per wxWidgets. A pagamento ce ne sono diversi. Ad esempio questo: http://www.roebling.de/

Per GTK+ prova questo: http://gazpacho.sicem.biz/
Ci sarebbe anche un certo Gideon, ma a quanto vedo non funziona il sito ufficiale su sourceforge...
proverò quelli per gtk :D

Intanto mi sa che userò code blocks con wxsmith... piu lo uso piu mi inizia a piacere. ad esempio se creo un bottone e ci clicco due volte sopra lui automaticamente mi crea la funzione per le istruzioni che deve avere al click del pulsante...