Pagina 1 di 1

Come creo una GUI?

Inviato: ven 10 feb 2006, 11:45
da Raistlin84
Sapete come si creano delle gui?
Ho provato col designer di Kdevelop,però chiaramente crea dei file .ui, vorrei sapere come si può creare una gui per un applicazione già esistente.
In pratica vorrei fare solo l'interfaccia, senza toccare il resto, così da poter lanciare in seguito la gui.Ma non ho ben capito come si fa a compilare il file .ui.perchè su internet ho trovato che và messo nel progetto insieme ai file .cpp.

Inviato: ven 10 feb 2006, 12:15
da Sari
be ti consiglio due cose

- consultare e chiedere su http://www.progforum.it (tenuto dal buon useless)
- dare qualche informazione in più sul programma in questione

Io comunque uso GTK e su quello so molto di più... ovvio che se intendi usare il C++ è più saggio rivolgersi a QT quindi http://doc.trolltech.com/4.0/ ... non è semplicissimo fare una GUI.

Quel file .ui deve essere tradotto con uic in un file .h (header) ed incluso all'interno del programma. A quel punto, senza fare il lavoro a mano, si avrà una classe GUI, ovvio che tutta la programmazione e tutte le azioni associate ad ogni callback di ogni singolo oggetto dovranno essere create e gestite dal programmatore

Inviato: ven 10 feb 2006, 12:19
da Tochiro
Creare una GUI per un programma già esistente non è una cosa così facile, ma non è neanche complicatissimo.
Per quale programma ti serve?
Se l'otput del programma e semplice, cioe è possibile utilizzare tale programma anche da script di shell, allora si può creare una gui senza andare a sbirciare il codice.
Personalmente userei python con pygtk, questo permette di creare la gui con glade senza troppe difficoltà e tramite il modulo gtk.glade utilizzarla. Python esegue un comando di shell e cattural'output con commands.getoutput.
La stessa cosa può essere fatta in C ma è un pò più complicato se non sei un programmatore esperto ti consiglio python.

Inviato: ven 10 feb 2006, 12:36
da dark0s
Sapete come si creano delle gui?
Se deve essere semplice, bè mi le ncurses servono per creare gui tipo quella che si vede con pkgtool, insomma interfaccie testuali.
Ciao

Inviato: ven 10 feb 2006, 12:48
da aschenaz
Molto interessante, da questo punto di vista, è il progetto Lazarus, praticamente un clone OS e multipiattaforma di Delphi, che, per chi non lo conoscesse (ma non credo) è il miglior IDE RAD (salvo smentite) per la crezione di programmi completi sotto win (ne esiste una versione per Linux, comunque).
Come Delphi utilizza l'Object-Pascal, Lazarus usa il Free-Pascal, un linguaggio che, secondo me, sebbene sia un po' rigido, è estremamente pulito e potente.
Personalmente, conto di provarlo presto (devo prima finire una cosa in PHP che mi sta prendendo più tempo del previsto...).
ciao,
nino

Inviato: ven 10 feb 2006, 12:51
da Litie
Io uso regolarmente freepascal e Lazarus....sono un'accoppiata fantastica!!!!

Inviato: ven 10 feb 2006, 13:10
da Raistlin84
Sì,sì una GUI che mi esegua degli script da shell per il progamma.
Quindi è sempilce giusto?
Dovrei usare i python con pygtk e glade?E per usare librerie qt?

Inviato: ven 10 feb 2006, 13:27
da albatrosla
Per maneggiare degli script con delle gui, consiglio: Kdialog (per ottenere delle gui per kde che governano degli script - dai un'occhiata a Kslackcheck che è fatto così -), Xdialog (per delle gui in gtk), dialog (per delle gui in curses). Si tratta di dialog pre-fatti ai quali dare in pasto degli input o output di script che vengono formattati e visualizzati sulle finestre predefinite. Ad ogni click è poi possibile associare un'operazione, dunque è tutto terra-terra (anche per me che non ci capisco nulla di programmazione!).

Inviato: ven 10 feb 2006, 13:29
da Raistlin84
Ecco sì cercavo qualcosa su codesto genere.
Anche perchè sò 2 cose di C++ e niente altro.
Quindi ho bisogno di robetta facile facile.

Inviato: ven 10 feb 2006, 15:37
da Tochiro
Non conoscevo dialog e *dialog devo dire che dagli esempi che ho visto in internet sembra semplice, penso che se vuoi usare le qt kdialog sia l'ideale.
per xdialog credo che la homepage sia:
http://xdialog.dyns.net/
da cui è possibile accedere alla documentazione.
Se mi dici di che programma si tratta e come vuoi l'interfaccia magari posso darti una mano

Inviato: ven 10 feb 2006, 17:14
da Raistlin84
In pratica non è un vero programma, volevo creare una gui dove potessi metterci tutte le varie impostazioni.
Cioè dallo script che mi apporta delle modifiche nel file xorg.conf a quello che mi abilità la connessione e cosi via... Una specie di centro di controllo personalizzato quasi.Ad esempio bisogna abilitare la rotellina da xorg.conf per il mouse, ecco una gui in cui seleziono mouse con rotella e lui cerca nel file il punto in cui fare la modifica e la fà.In pratica mi serve pe gestire tutti quelli script che in verità si possono fare da console.
Lo sò è un po' un concetto che stona con slackware, ma mi piaceva fare qualcosa che semplificasse certe cose, anche perchè poi la gui non sono obbligato ad usarla,ma magari potrebbe tornare utile ad altri, e in alcuni casi anche più veloce per me.

Inviato: ven 10 feb 2006, 17:36
da goldy
Raistlin84 ha scritto: Lo sò è un po' un concetto che stona con slackware
No invece è un bel concetto perchè riesci a renderti più comode le cose e allo stesso tempo
non appesantisci il sistema
Xdialog come ti è già stato suggerito è una buona soluzione, e anche molto semplice da usare

Inviato: ven 10 feb 2006, 18:36
da Raistlin84
Bene allora vi ringrazio tantissimo...ora vedrò se sono in grado di riuscire a fare una cosa del genere,sono alle prime armi, ma se non provo :wink:
Grazie.

Ah..un'altra cosa da niubbetto, mettiamo un esempio semplicissimo:
#/bin/bah
kdialog --yesno "Vuoi XXXX?" 0 0; \

Come passo il risultato della risposta?Così?
case $? in
0) comandoacaso;;
1) exit;;
esac

Però ho provato a metterci un semplice comando,ma sia che risponda si o no mi avvia comunque il programma...

Inviato: ven 10 feb 2006, 19:00
da Raistlin84
Trovato l'errore #!/bin/bash. Non avevo messo il ! e lo lanciavo con ./ invece che con . comando.
Ora va!
Scusate, sono proprio alle prime armi e forse quello che voglio fare va al di là delle mie conoscenze...però ci provo! :wink: