[C] Programma c che visualizza immagini...

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
7cys7
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 390
Iscrizione: mercoledì 31 gennaio 2007, 12:16

[C] Programma c che visualizza immagini...

Messaggio da 7cys7 »

Salve, ho realizzato un programma che alla fine della sua esecuzione presenta la lista di una serie di immagini. Se volessi che il mio programma me le visualizzasse, come potrei fare? Mi servirebbe gtk? E se sì, sapete indicarmi qualche semplice esempio?

Grazie! :(
7cys7
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 390
Iscrizione: mercoledì 31 gennaio 2007, 12:16

Re: [C] Programma c che visualizza immagini...

Messaggio da 7cys7 »

Per visualizzare una singola immagine con gtk:

Codice: Seleziona tutto

#include <gtk/gtk.h>   
int main( int argc, char *argv[]) {    
GtkWidget *window;   GtkWidget *image;    
gtk_init(&argc, &argv);    
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);   
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);   
gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);   
gtk_window_set_title(GTK_WINDOW(window), "immagine");   
gtk_window_set_resizable(GTK_WINDOW(window), FALSE);    
gtk_container_set_border_width(GTK_CONTAINER(window), 2);    
image = gtk_image_new_from_file("immagine.png");   
gtk_container_add(GTK_CONTAINER(window), image);     
g_signal_connect_swapped(G_OBJECT(window), "destroy",         
G_CALLBACK(gtk_main_quit), G_OBJECT(window));    
gtk_widget_show_all(window);    
gtk_main();    
return 0; 
} 
Ma se volessi visualizzarne 10 nella stessa finestra?
E come dovrei fare per integrare le gtk al vecchio programma c? >:(


Qualche anima pratica di GUI c'è?
Avatar utente
IacopoDeeNosee
Prode Principiante
Messaggi: 194
Iscrizione: giovedì 3 maggio 2007, 0:00
Contatti:

Re: [C] Programma c che visualizza immagini...

Messaggio da IacopoDeeNosee »

7cys7 ha scritto: Ma se volessi visualizzarne 10 nella stessa finestra?
per inserire 10 immagini nella stessa finestra devi dividere la finestra in 10 aree,e per farlo hai diversi strumenti a disposizione,qui ne trovi un elenco:
http://library.gnome.org/devel/gtk/stab ... iners.html
la cosa più semplice è usare i gtktable,per schiarirti le idee butta un occhio su questo tutorial:
http://www.avv-delongis.com/tutorial/tut5.htm
E come dovrei fare per integrare le gtk al vecchio programma c? >:(
non capisco cosa vuoi intendere per integrare ???
BYE :)
Skype -> IacopoDeeNosee
7cys7
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 390
Iscrizione: mercoledì 31 gennaio 2007, 12:16

Re: [C] Programma c che visualizza immagini...

Messaggio da 7cys7 »

No, no, il problema è associare un'azione a ciascun bottone. La disposizione non è un problema.
Ho già del codice c compilato e funzionante. Come faccio ad integrarlo coi bottoni?

Se ad esempio ho un programma che da un testo mi conta le occorrenze di una determinata parola, come posso fare per associare questo programma coi tre bottoni, ognuno dei quali è associato ad una precisa parola?

In pratica pensavo di associare a ciascun bottone una parola. Quando clicco sul bottone, mi esegue il programma già compilato con la parola corrispondente al bottone...
Avatar utente
IacopoDeeNosee
Prode Principiante
Messaggi: 194
Iscrizione: giovedì 3 maggio 2007, 0:00
Contatti:

Re: [C] Programma c che visualizza immagini...

Messaggio da IacopoDeeNosee »

7cys7 ha scritto: No, no, il problema è associare un'azione a ciascun bottone. La disposizione non è un problema.
bhe mi sembrava dal post precedente che fosse quello il problema.
In pratica pensavo di associare a ciascun bottone una parola. Quando clicco sul bottone, mi esegue il programma già compilato con la parola corrispondente al bottone...
per collegare un azione ad un tasto puoi usare questo esempio:

Codice: Seleziona tutto

...
GtkWidget *button_gtk=gtk_button_new_with_label("parola da contare");
...
g_signal_connect(GTK_OBJECT(button_gtk),"clicked",GTK_SIGNAL_FUNC(launch_program),NULL);
...
per lanciare un eseguibile puoi usare la funzione system
http://edu.os3.it/html/manual/impararec/node361.html
o le exec
http://edu.os3.it/html/manual/impararec/node364.html

Codice: Seleziona tutto

void lauch_program(void)
{
   system("/path/to/the/binary argumets");
}
credo che ti convenga implementare direttamente le funzioni nel codice della gui per poi richiamarle direttamente.
BYE :)
Skype -> IacopoDeeNosee
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti