|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Sviluppo software con interfaccia grafica......
Ciao a tutti, chiedo qui piuttosto che nella sezione "Programmazione" perchè la mia è una domanda specifica per lo sviluppo in ambiente linux.
Premetto che programmo in C e vorrei cimentarmi nello sviluppo di un programma non molto complicato ma con interfaccia grafica, però non ho mai sviluppato nulla sotto linux (in ambiente grafico). Ho fatto alcune ricerche, ed ho visto che le possibilità sono molte. QT, forse la più interessante mi obbligherebbe a studiare C++ e onestamente non ne ho nessuna voglia. GTK forse più semplici ma non ho trovato documentazione in italiano ![]() Sono un po' indeciso, certo è che devo fare un piccolo programma e vorrei finirlo prima del 2020, cosa che non riuscirei mai a fare se dovessi mettermi a studiare linguaggi nuovi e librerie complesse delle quali si trova documentazione solo in inglese ![]() Che ne pensate di GLADE? A me sembra interessante ma la documentazione che ho trovato è tutta molto datata (2007) e quindi non so se è un progetto ancora attivo o se mi metto da subito a lavorare su una cosa vecchia che magari è destinata a sparire. Qualche consiglio? Grazie. Ciao. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jun 2006
Città: Trento
Messaggi: 113
|
Io gioco (non programmo, gioco
![]() Glade è attiva e come hai detto tu ti semplifica molto la vita nel fare le intefaccie grafiche, disegni l'interfaccia, colleghi i segnali ed è fatta. Ci sono stati dei cambiamenti di recente col passaggio a gtk3 ( nel "mio" caso è morto pygtk ed è stato integrato tutto in gobject) Se hai volgia dai pure un occhiata ad Anjuta, è un IDE con glade integrata ed una serie di "comode cose". La prima cosa che fai è mettere un Toplevel (Window) poi un vertical box ( in gtk funziona tutto a box, in qt se non sbaglio posizioni i widget dove vuoi) e nel box metti i widget che vuoi (bottoni, text entry ecc ecc). Li trovi nel pannello di sinistra Quando clicchi su un widget in basso a destra ti vengono fuori 4 tab.General, Packing, Common e Signals In Signals trovi tutti i segnali che può emettere un widget (tipo clik bottone) a cui te assegni un handler che poi scriverai nel codice. Premetto che non conosco altro ma una rottura delle gtk è che funziona tutto come un loop e se nel loop c'è qualcosa che non risponde si freeza tutto finchè non finisce. Cioè se ad esempio lanci "get_data()" e get_data ci mette 3 secondi a finire la gui si freeza per tre secondi.Di recente ho fatto un programmino che raccoglie e visualizza dati una volta al secondo ed ho dovuto inserire dei thread per evitare che mi si inchiodasse la gui ad ogni chiamata. Se hai già il codice dovresti cavartela veloce ad adattarlo.
__________________
Desktop: Pentium E8500, Asus P5K Pro (P35), 4GB DDR2, Na valanga di hard disk, Zotac Nvidia GtX 260, Cooler Master HAF 932, Meo (PT) 100/100 Mbps OS: Arch Serverino: Raspberry Model B, 256MB OS: Gentoo Remoto: Atom D425, 2GB Ram, Seagate Barracuda ST31000524AS, 10/10 Gbps (shared) OS: Debian |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Ti ringrazio della risposta incoraggiante e non
![]() Anjuta l'ho già installato ma non trovo tracce di GLADE, forse mi manca qualche pacchetto per collegare il tutto. Il software che mi serve l'ho già scritto in C ma è la versione base che gira su terminale, ora dovrei farci un'interfaccia grafica semplice per visualizzare i dati e implementare qualche finestra per le opzioni. Quello che non mi piace molto è il fatto che essendo in loop potrebbe impallarsi, perchè il programma che ho sviluppato è abbastanza vitale che non si fermi per lungo tempo. Qualche frazione di secondo può andare, ma 3-4 secondi potrebbero essere catastrofici ![]() Credo che comunque per visualizzare un flusso video su una parte della finestra (non ho la più pallida idea di come fare ![]() Ora devo trovare il sistema di far vedere GLADE ad Anjuta. Ho provato a seguire questo blog ma come sempre succede con linux, le cose non funzionano mai come scritto nelle guide ![]() Tra i pacchetti elencati in quel blog, alcuni non li ho trovati, devo vedere quali sono i sostituti e forse quella è la chiave per risolvere il problema. Comunque tra le varie soluzioni che ho valutato glade mi sembra la soluzione più abbordabile senza spaccarsi per forza la testa anche se mi ha dato l'impressione che non sia molto usato ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 2511
|
Non so' cosa tu conti di usare, ma per le QT con http://kdevelop.org/ si usa sia C che C++
Intendi dire che vuoi caricare del codice C senza modifiche? - http://qt-project.org/forums/viewthread/8057 |
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Anche perchè di documentazione in italiano non ne ho trovata ed io con l'inglese qualcosa riesco anche a tirare fuori ma mi rallenterebbe in maniera esagerata ![]() Per glade e gtk invece ho trovato anche molta documentazione in italiano. Quote:
|
||
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jun 2006
Città: Trento
Messaggi: 113
|
Ci sono progetti abbastanza famosi che usano glade tipo deluge torrent.
Dicono che qt siano meglio di gtk sotto certi punti di vista, da quanto ne so io dovrebbe essere un pelino più facile a pari conoscenze fare un interfaccia in qt dato che ci sono le librerie per qualsiasi cosa. Non ho mai fatto nulla che riguardasse un video ma per quanto riguarda le gtk potresti dare un occhiata a gstreamer e libvlc Che sistema operativo usi?
__________________
Desktop: Pentium E8500, Asus P5K Pro (P35), 4GB DDR2, Na valanga di hard disk, Zotac Nvidia GtX 260, Cooler Master HAF 932, Meo (PT) 100/100 Mbps OS: Arch Serverino: Raspberry Model B, 256MB OS: Gentoo Remoto: Atom D425, 2GB Ram, Seagate Barracuda ST31000524AS, 10/10 Gbps (shared) OS: Debian |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
In C puoi usare IUP, Clutter e wxWidgets. Quest'ultima è usatissima in svariati ambiti ed è molto completa.
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Proverò a vedere gstreamer e libvlc se possono fare al caso mio. Una cosa però, studiando un po' glade e gtk, ho visto che ad un certo punto viene invocato un gtk_main() che credo sia un loop dove vengono gestiti tutti i messaggi inerenti alla gestione delle finestre/pulsanti ecc. ecc. Qui mi nasce un altro problema, o meglio, forse due ai quali non avevo pensato prima ![]() 1. Ho già scritto del codice di base (senza grafica) e questo gira già con un suo loop perchè deve leggere ed elaborare dei dati in continuazione. Il mio problema è, come faccio ad inserirlo all'interno del loop gtk_main()? 2. Il codice che ho scritto finora, usa le SDL, posso mescolare GTK ed SDL o mi ritrovo con una frittata? Grazie. Ultima modifica di stefanoxjx : 27-10-2012 alle 20:32. |
|
![]() |
![]() |
![]() |
#9 | ||
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
Quote:
Dovrei studiarmi il C++ ![]() |
||
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Il fatto di essere realizzata in C++ non implica che chi la usa deve per forza programmare in C++. Se fosse così la metà dei software moderni non esisterebbe ![]() |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
Quote:
![]() Ho appena provato un piccolo progetto con codeblocks e wxwidget ma mi da errori in compilazione pur avendo installato i vari pacchetti wx e libwx. Domani ci riprovo, questa sera sono troppo cotto per mettermi a ragionare troppo ![]() Esiste qualche tutorial in italiano? Grazie. Ciao. |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:22.