Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-10-2012, 18:39   #1
stefanoxjx
Senior Member
 
L'Avatar di stefanoxjx
 
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 pero ho visto che usando GLADE posso semplificarmi la vita.
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.
stefanoxjx è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2012, 21:37   #2
gasparov
Member
 
Iscritto dal: Jun 2006
Città: Trento
Messaggi: 113
Io gioco (non programmo, gioco ) con python e gtk, riguardo a C non so dirti nulla.
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
gasparov è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2012, 23:06   #3
stefanoxjx
Senior Member
 
L'Avatar di stefanoxjx
 
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 ) e scrivere un po' di testo non ci siano questi grossi problemi, comunque sarà tutto da sperimentare.
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
stefanoxjx è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2012, 23:27   #4
eaman
Senior Member
 
L'Avatar di eaman
 
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
eaman è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2012, 23:39   #5
stefanoxjx
Senior Member
 
L'Avatar di stefanoxjx
 
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
Quote:
Originariamente inviato da eaman Guarda i messaggi
Non so' cosa tu conti di usare, ma per le QT con http://kdevelop.org/ si usa sia C che C++
Grazie, provo a vedere, ma mi da l'impressione che le QT siano più per professionisti, non so se riuscirò a combinare qualcosa.
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:
Intendi dire che vuoi caricare del codice C senza modifiche?
- http://qt-project.org/forums/viewthread/8057
No no, intanto ho scritto il codice che mi serviva per vedere se la mia idea poteva funzionare, ora che ho visto che funziona, porterò il codice su interfaccia grafica ma con le opportune modifiche, anche se non ce ne saranno più di tante perchè il motore dell'applicazione legge dei dati da una porta usb e da una seriale e per questa parte non credo necessiteranno modifiche, per la rappresentazione dei dati ora ci sono dei banali printf che però ovviamente bisognerà adattare alle esigenze della libreria grafica.
stefanoxjx è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 12:51   #6
gasparov
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
gasparov è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 16:07   #7
pabloski
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.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 20:30   #8
stefanoxjx
Senior Member
 
L'Avatar di stefanoxjx
 
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
Quote:
Originariamente inviato da gasparov Guarda i messaggi
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?
Si, effettivamente per quello che devo fare, GLADE continua ad essere la scelta più sensata.
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.
stefanoxjx è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 20:32   #9
stefanoxjx
Senior Member
 
L'Avatar di stefanoxjx
 
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
Quote:
Originariamente inviato da pabloski Guarda i messaggi
In C puoi usare IUP, Clutter e wxWidgets. Quest'ultima è usatissima in svariati ambiti ed è molto completa.
Ho guardato un po' wxWidgets, però nel sito ufficiale c'è scritto:
Quote:
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+. It has popular language bindings for Python, Perl, Ruby and many other languages.
Il che mi fa pensare che il problema che avrei è lo stesso per le QT.
Dovrei studiarmi il C++
stefanoxjx è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 20:50   #10
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da stefanoxjx Guarda i messaggi
Il che mi fa pensare che il problema che avrei è lo stesso per le QT.
Dovrei studiarmi il C++
No, wxwidgets è ovviamente scritto in C++, ma ha una miriade di bindings per i più disparati linguaggi, tra cui il C http://sourceforge.net/projects/wxc/

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
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 21:20   #11
stefanoxjx
Senior Member
 
L'Avatar di stefanoxjx
 
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
Quote:
Originariamente inviato da pabloski Guarda i messaggi
No, wxwidgets è ovviamente scritto in C++, ma ha una miriade di bindings per i più disparati linguaggi, tra cui il C http://sourceforge.net/projects/wxc/

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
Oh! si! questa è una cosa che mi piace
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.
stefanoxjx è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 21:26   #12
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da stefanoxjx Guarda i messaggi
Esiste qualche tutorial in italiano?
Domanda imbarazzante

Ma probabilmente la risposta è no
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2012, 21:50   #13
stefanoxjx
Senior Member
 
L'Avatar di stefanoxjx
 
Iscritto dal: Jul 2002
Città: Padova
Messaggi: 4245
Quote:
Originariamente inviato da pabloski Guarda i messaggi
Domanda imbarazzante

Ma probabilmente la risposta è no


OK, allora mi arrangio con l'inglese.
Lo ammetto, la mia comunque è solo pigrizia
stefanoxjx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Cos’è RSL, il nuovo standard che ...
Nissan Micra EV: da 29.500 a oltre 36.00...
Processo Microsoft-ValueLicensing: cosa ...
L'edizione limitata più ambita da...
Lo sviluppatore di MSI Afterburner svela...
Quando l'AI diventa maestro: così...
Sony WH-1000XM6 già scontate su A...
NVIDIA chiede più velocità...
Windows 11 in soli 2,8 GB: con questo sc...
Panico in casa HYTE: ritirato dal mercat...
OPPO Reno14, debutto tra rooftoop esclus...
3DAIQ, il progetto di Concept Reply e TE...
Il parlamento francese contro TikTok: '&...
Apple Watch SE 2ª gen. Cellular a soli 2...
MotoE sospesa dopo il 2025: fine tempora...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v