Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-06-2008, 19:02   #1
lorenzo_ktm
Member
 
L'Avatar di lorenzo_ktm
 
Iscritto dal: Mar 2008
Messaggi: 62
[C con Gtk+2] problemi con le gtk...

il programma è il seguente:

Codice:
#include<gtk/gtk.h>
#include<stdio.h>



static void enter_callback( GtkWidget *widget,
                            GtkWidget *entry )
{/* funzione che si occupa dell'input */
  const gchar *entry_text;
  entry_text = gtk_entry_get_text (GTK_ENTRY (entry));
 
}

/* funzione eseguita al momento del click sul pulsante */
static void funzione ( GtkWidget *widget, GtkWidget *entry
		       /*gpointer data*/ )
{
const gchar *testo;
testo = gtk_entry_get_text (GTK_ENTRY (entry));
printf ("Testo: %s\n", testo);

}	

int main(int   argc,
          char *argv[] )
{/* dichiarazione delle variabili widget */
GtkWidget *window;
GtkWidget *button;
GtkWidget *entry;
GtkWidget *box;
		
/* funzione gtk obbilgatoria */
gtk_init (&argc, &argv);

/* crea la finestra */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
/* settaggio di dimensioni e titolo della finestra*/
gtk_widget_set_size_request (GTK_WIDGET (window), 200, 100);
gtk_window_set_title (GTK_WINDOW (window), "esempio");

/* separatore verticale. la finestra può contenere un solo widget
per questo è necessario inserire dei "box" per aumentarne la capienza */
box = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show (box);


/* text di ingresso (lunghezza max = 50 caratteri) */
entry = gtk_entry_new ();
gtk_entry_set_max_length (GTK_ENTRY (entry), 50);
g_signal_connect (G_OBJECT (entry), "activate",
		      G_CALLBACK (enter_callback),
		      (gpointer) entry);
gtk_widget_show (entry);

/* crea il pulsante con etichetta */
button = gtk_button_new_with_label ("clicca qui");
/* evento pressione del pulsante */
g_signal_connect (G_OBJECT (button), "button_press_event",
                  G_CALLBACK (funzione), (gpointer) entry);

gtk_container_add (GTK_CONTAINER (box), entry);
/* inserisce il pulsante nella finestra */
gtk_container_add (GTK_CONTAINER (box), button);

/* mostra gli widget */

gtk_widget_show (button);
gtk_widget_show (window);

/* funzione obbligatoria */
gtk_main();
return 0;
}

il programma è molto semplice.
visualizza una finestra con una text e un bottone.
quando il pulsante viene premuto dovrebbe scrivere a video quello che è scritto nella text.
Quando lo eseguo però al momento del click si chiude la finestra e stampa a video "Segmentation fault".

Qualcuno mi sa dire dov'è l'errore?

Ultima modifica di lorenzo_ktm : 27-06-2008 alle 19:46.
lorenzo_ktm è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2008, 19:38   #2
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
puoi inserire il codice nei tag CODE? così si capisce poco
sembrerebbe che usi un puntatore a NULL
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2008, 19:47   #3
lorenzo_ktm
Member
 
L'Avatar di lorenzo_ktm
 
Iscritto dal: Mar 2008
Messaggi: 62
ho aggiunto il tag code e ingrassettato le funzioni.
è più chiaro adesso?
lorenzo_ktm è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2008, 19:49   #4
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
Quote:
Originariamente inviato da lorenzo_ktm Guarda i messaggi
ho aggiunto il tag code e ingrassettato le funzioni.
è più chiaro adesso?
sisi perfetto solo che io non ci capisco nulla di GTK
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2008, 19:49   #5
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Che io sappia, le funzioni di callback di GTK+ prendono il GtkWidget* che ha generato l'evento come primo parametro, e un gpointer di dati opzionali come secondo parametro. Ergo: usa il primo parametro, non il secondo, dovrebbe funzionare.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Le vecchie fotocamere digitali compatte ...
La Cina potrebbe rinviare il ritorno del...
Verizon non è preoccupata della c...
RDNA 5 sulle APU AMD, ma non per tutti: ...
Marvell acquisisce Lumentum per 115 mili...
La febbre dei data center fa impennare i...
ECOVACS T90S OMNI crolla a 499€ su Amazo...
In Cina i camion elettrici hanno gi&agra...
Attacchi hacker ai supermercati in Europ...
I datacenter non piacciono? OpenAI prova...
Cupra Raval sfida BMW, Volvo e le altre:...
BYD supera per la prima volta le 300.000...
Crisi RAM, spunta un prezzo incredibile ...
Ginux, un nuovo kernel compatibile con L...
Gemini Notebook si aggiorna: arrivano i ...
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: 22:15.


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