Newsgroup: it.comp.os.linux.development
Titolo: GTK+ vs QT

Lo so che metà della gente ne preferirà una e metà l'altra, comunque,
considerando che provengo dal mondo Win32, quale delle due è più adatta a
me?
Ho dato una occhiata a qualche tutorial, e mi sembra che le QT siano più
simili, come filosofia, alla Win32API. Funzionano ad eventi?
Inoltre non mi trovo molto a mio agio col posizionamento non assoluto dei
widget di GTK+....
Che ne pensate? Considerando anche i tool GLADE e KDevelop...
Grazie.
--
Marco Iannaccone     
marc...@tin.it
ICQ: 18748121           Tolkien
"I've... seen things you people wouldn't believe. Attack ships on fire off
the shoulder of Orion.
I watched C-beams... glitter in the dark near the Tanhauser Gate. All
those... moments will be lost... in time..., like... tears... in... rain."
FAQ it.comp.lang.c: 
http://www.programmazione.it/linguaggi/c/itcomplangc.htm
FAQ it.comp.lang.c++: 
http://www.programmazione.it/linguaggi/c/lang_faq.htm

 
Entrambi gtk e qt sono orientati ad eventi/segnali come il mondo windows
Tuttavia le qt sono molto + simili all'ambiente windows e sono leggermente
+ semplici da imparare, inizialmente (le funzionalita' finali sono le
stesse)
Se non ti trovi bene con le gtk perche' usarle? pero' ti ricordo che le
gtk sono completamente open source, al contrario delle qt di troll tech.
Il posizionamento "non assoluto" del gtk, che proviene del mondo motif,
e' una delle + grandi funzionalita' del gtk.... su win perdi ore a fare
funzioni che ridimensionino la tua finestra.. gtk e' automatico! Cmq puoi
sempre inserire un widget fixed del form e gestire a coordinate come su
win.
Il tool KDevelop e' sicuramente + avanzato di glade. Glade e' solo un
semplice interface builder. Ti disegni l'interfaccia senza scrivere codice
e che poi in ogni caso devi ritoccare :). Prova il VDKBuilder (su
freshmeat). E' un tool in stile borland, un rad, molto carino anche se
non l'ho mai provato perche' crea dipendenza con le sue librerie credo
ciao
-- 
Wave++, member of EventOrizon software
http://members.xoom.it/wavexx

 win.
Beh, per me non è tanto male...


 gtk Vuoi una api semplice? usa gtk
1) devo pagare per produrre software commerciale?
2) a me interessano solo il C e il C++ ( che per la realizzazione di
applicazioni a finestre mi sembra molto più pulito...)
3) A prima vista mi sembrava più semplice QT(o, almeno, più simile alla
WinAPI...)
4) Tenendo presente che mi interessa programmare contemporaneamente in
Win32, X-Win e BeOS (ma non con una libreria multipiattaforma, ma con quelle
specifiche), mi sembra che le QT siano simili sia alle WinAPi che alle API
di BeOS (che sono in C++)....
--
Marco Iannaccone     
marc...@tin.it
ICQ: 18748121           Tolkien
"I've... seen things you people wouldn't believe. Attack ships on fire off
the shoulder of Orion.
I watched C-beams... glitter in the dark near the Tanhauser Gate. All
those... moments will be lost... in time..., like... tears... in... rain."
FAQ it.comp.lang.c: 
http://www.programmazione.it/linguaggi/c/itcomplangc.htm
FAQ it.comp.lang.c++: 
http://www.programmazione.it/linguaggi/c/lang_faq.htm
.net>

 wrote :
| Vabbeh, ma per creare applicazioni commerciali con QT mica devo pagare?
Si, 2000$ l'ultima volta che ho guardato.

 Si, 2000$ l'ultima volta che ho guardato.
Mi sa che ho scelto....
Con GTK posos creare anche applicazioni commerciali senza diffondere i
codici, senza dover pagare nulla, vero?


 codici, senza dover pagare nulla, vero?
Non mi sembra comunque molto aderente allo spirito OpenSource... se lo
viene a sapere Stallman ...
bye
--
Mandoch

 viene a sapere Stallman ...
Era giusto per sapere.... E' possibile quindi, no?
Mentre con QT se diffondo i sorgenti, ma mi faccio pagare, devo pagare la
licenza, vero?


 
Non esattamente... Se leggi la licenza GPL (ne trovi copie ovunque
disseminate nel sistema, in particolare il file COPYING contenuto nei
vari direttori _contenuti_ in /usr/doc (find / -name COPYING -print))
noterai come sia abbastanza marcato il concetto di utilizzo di parti GPL
nel tuo progetto, la mia considerazione e':
Se realizzi un prodotto basato su sw GPL e' doveroso rilasciare il
codice sorgente, puoi comunque farti pagare da chi ti ha commissionato
il lavoro, se la tua paura e' la copia del sw, si copia molto meglio il
binario... se invece hai paura che qualcuno rubi i tuoi segreti...la hai
appena fatto tu - utilizzando codice sorgente di altri senza rilasciare
il tuo con la stessa licenza (GPL). Se hai appenza realizzato la nuova
versione di Autocad 2000 per Linux e non vuoi che la gente scopra come
e' fatto per sfruttare indebitamente le tue conoscenze non ti rimane che
riscriverti da 0 la tua GUI library (in 5 min. si fa' ...) :-) 
bye
--
Mandoch

 codici, senza dover pagare nulla, vero?
mi sembra di sì. Tuttavia per sicurezza leggiti la GPL.
-- 
Non c'è più forza nella normalità, c'è solo monotonia.

Non esattamente... Se leggi la licenza GPL (ne trovi copie ovunque
Ma se legge la licenza LGPL specifica per le librerie, notera' come
delle librerie in LGPL puo' farne anche uso commerciale.
Non puo' ovviamente integrare nel suo pacchetto parti di codice GPL,
senza sottostare alla licenza GPL (questo oltretutto era uno dei motivi
di contrasto con il KDE, aver usato GPL e non insieme, contravvenendo
alla licenza)
-- 
           |Save our planet!
  Ciao     |Save wildlife;
  roberto  |For your E-MAIL use only recycled Bytes !!
           |roberto poggi  
rpo...@softhome.net

codici, senza dover pagare nulla, vero?
Purche' non siano (solo!) linkate staticamente, nel qual caso devi
fornire il programma oggetto .o da linkare. Pensa ad Applix 5, che usa
le Gtk+ e di sorgenti manco a parlarne.
-- 
 (o-  | Un OS per domarli, Un OS per trovarli,
 //\  | Un OS per ghermirli e nel buio incatenarli
 V_/_ | 
http://pinguin.linuxave.net
            r punto salmaso at inwind punto it

 wrote in message
397F2C39...@libero.it...
[...]
| Se realizzi un prodotto basato su sw GPL e' doveroso rilasciare il
| codice sorgente, puoi comunque farti pagare da chi ti ha commissionato
| il lavoro, se la tua paura e' la copia del sw, si copia molto meglio il
| binario... se invece hai paura che qualcuno rubi i tuoi segreti...la hai
| appena fatto tu - utilizzando codice sorgente di altri senza rilasciare
| il tuo con la stessa licenza (GPL). Se hai appenza realizzato la nuova
| versione di Autocad 2000 per Linux e non vuoi che la gente scopra come
| e' fatto per sfruttare indebitamente le tue conoscenze non ti rimane che
| riscriverti da 0 la tua GUI library (in 5 min. si fa' ...) :-)
Veramente la filosofia e':
Le librerie e la GUI sono LGPL, cioe' puoi linkarle senza dover rilasciare
il sorgente del *tuo* programma, ma solo indicazioni sulle librerie usate,
e dove reperire il sorgente.
gcc, g++ e altri programmi sono GPL, cioe' puoi modificarli, riprogettarli,
usarne il codice altrove, purche' ne specifichi la provenienza e rilasci il
sorgente del *tuo* programma (anche come indirizzo per Dload), che e' GPL
avendo usato parti GPL.
Quindi le cose stanno cosi': un programma GPL resta disponibile in sorgente
a quasiasi modifica, lettura e utilizzo, ma qualsiasi prodotto derivante da
cio' sara' GPL esso stesso.
Un tuo programma, linkato con librerie LGPL (GUI, libc, libstdc++, ecc...)
puoi decidere se renderlo GPL o meno, ma devi comunque includere un
reference alle librerie LGPL e relativo codice.
Il resto e' alla tua coscienza, ad esempio se usi gcc, almeno dai una mano
alla gnu a risolvere dei bug. Ossia e' libero, ma non gratuito. Questa e'
la filosofia di Stallman

Perfetto!!
Grazie per l'esauriente spiegazione!!!
Beh, cosě l'Open Source mi sembra molto meglio di quanto stavo iniziando a
pensare...



OK OK ... Scusate le imprecisioni, si vede che sono troppo largo di
manica ...
Comunque nella mia esperienza ho notato che e' praticamente impossibile
non utilizzare codice GPL programmando con Linux/Gnome/GTK, spesso
succede ad esempio di 'copiare' parti di codice di altri programmi GPL
perche' ad esempio di vogliono realizzare funzionalita' simili...E
quindi per me' e' normale pensare a rilasciare codice GPL allo scopo di
'aiutare' altri sviluppatori.
bye
--
Mandoch