gtk

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

gtk

Messaggio da RedSkull92 »

Salve, volevo cominciare a programmare con le gtk in C per cercare di fare qualcosa di carino con la grafica.
Mi sapete dire quali sono i pacchetti da installare per compilare sorgente C che fà uso delle gtk ?
Grazie.
Io uso kde 3.5 in C posso usare anche le qt o è meglio in c++ ?

Avatar utente
Blizzard
Master
Master
Messaggi: 1509
Iscritto il: mar 2 gen 2007, 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox
Contatta:

Re: gtk

Messaggio da Blizzard »

Che io sappia qt è un framework C++.
Dato che utilizzi kde mi verrebbe quasi di consigliarti di sviluppare con le qt che alla versione 4 sono davvero molto potenti ed intuitive anche se lungi da me l'intenzione di allontanarti da gtk.
In ogni caso per qt se leggi la guida ufficiale ti risulterà molto semplice cominciare. È ricchissima di esempi completi.

Per quanto riguarda gtk non so dirti ma in entrambi i casi devi scaricare gli sdk(generalmente libreria+header+vari tool di supporto che trovi nei siti ufficiali o pacchettizati) se non li hai gia installati.
Per le qt4 c'è il pacchetto su slacky mentre per le qt3 dovresti avere gia tutto pronto ed usabile sotto kdevelop se hai fatto l'installazione full della slackware.

ciao
Gio

Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Re: gtk

Messaggio da RedSkull92 »

al momento tra C/c++ conosco solo C
quindi penso che resterò con le gtk (le qt sono belle però sono un pò pesantucce)
ora provo a cercare i pacchetti di installazione per programmare con esse.
vi tengo aggiornati.

Avatar utente
Slack_Eater
Linux 1.x
Linux 1.x
Messaggi: 163
Iscritto il: gio 14 feb 2008, 21:29
Nome Cognome: Giuseppe Scalzi
Slackware: 13.37
Kernel: 2.6.38.2-smp
Desktop: KDE 4.7.0
Località: Svizzera
Contatta:

Re: gtk

Messaggio da Slack_Eater »

Se vuoi un IDE per programmare con le gtk e C c'è anjuta.

http://projects.gnome.org/anjuta/index.shtml

Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Re: gtk

Messaggio da RedSkull92 »

Ho un piccolo problemino.
volevo installare le gtk.
sono andato quì su slacky.org cercando i vari pacchetti.
ho trovato i pacchetti che cercavo tranne le glib.
ho scaricato questo:
http://repository.slacky.eu/slackware-1 ... es/glibmm/
andando sul sito di gtk.org ho visto che da li potevo scaricare le gtk+ e glib.
ho scaricato glib 2.2.0.4 dato un .configure, make e make install
tutto installato correttamente.
da li ho scaricato anche le gtk+
una volta scaricato il sorgente.
digito ./configure
dopo un pò però mi compare questa scritta:
checking for GLIB - version >= 2.19.7...
*** 'pkg-config --modversion glib-2.0' returned 2.20.4, but GLIB (2.16.6)
*** was found! If pkg-config was correct, then it is best
*** to remove the old version of GLib. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
no
configure: error:
*** GLIB 2.19.7 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.

allora ripenso al pacchetto glib scaricato da quì,a allora mi appresto a rimuoverlo correttamente.
una volta eliminato ridigito ./configure ma mi ricompare lo stesso errore, come mai ?

EDIT:Riprovando un'altra volta ha trovato le glib , però adesso mi spunta questo errore:
configure: error:
*** Checks for JPEG2000 loader failed. You can build without it by passing
*** --without-libjasper to configure

:S

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: gtk

Messaggio da Toni »

RedSkull92 ha scritto:Ho un piccolo problemino.
volevo installare le gtk.
sono andato quì su slacky.org cercando i vari pacchetti.
ho trovato i pacchetti che cercavo tranne le glib.
ho scaricato questo:
http://repository.slacky.eu/slackware-1 ... es/glibmm/
andando sul sito di gtk.org ho visto che da li potevo scaricare le gtk+ e glib.
ho scaricato glib 2.2.0.4 dato un .configure, make e make install
tutto installato correttamente.
da li ho scaricato anche le gtk+
una volta scaricato il sorgente.
digito ./configure
dopo un pò però mi compare questa scritta:
checking for GLIB - version >= 2.19.7...
*** 'pkg-config --modversion glib-2.0' returned 2.20.4, but GLIB (2.16.6)
*** was found! If pkg-config was correct, then it is best
*** to remove the old version of GLib. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
no
configure: error:
*** GLIB 2.19.7 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.

allora ripenso al pacchetto glib scaricato da quì,a allora mi appresto a rimuoverlo correttamente.
una volta eliminato ridigito ./configure ma mi ricompare lo stesso errore, come mai ?

EDIT:Riprovando un'altra volta ha trovato le glib , però adesso mi spunta questo errore:
configure: error:
*** Checks for JPEG2000 loader failed. You can build without it by passing
*** --without-libjasper to configure

:S
ciao palermitanooo :lol:

allora
se usi la 12.2

http://packages.slackware.it/search.php ... &t=1&q=gtk

le gtk sono gia presenti , quindi non devi installare nulla

permettimi un consiglio

impara anche il c++ , e fai pratica con le gtkmm ( un binding delle gtk per c++) .

Una volta imparato il c++ , potrei realizzare gui con gtkmm , molto piu semplici ed intuitive delle gtk.
(è importante conoscere il c, ed è anche importante conoscere un linguaggio orientato agli oggetti)

Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Re: gtk

Messaggio da RedSkull92 »

lol allora non sono l'unico palermitano .
comunque si una volta installate le glib non ho avuto problemi di compilazione con gcc
(per compilare gcc file.c -o nome `pkg-config --libs --cflags gtk+-2.0`)
ora sto realizzando una calcolatrice (per iniziare)
però trovo un casino di difficoltà ad organizzare la gui, questo è il cod stilato fin'ora, non fà niente apparte comparire la gui e permetterla di chiuderla:

Codice: Seleziona tutto

#include <gtk/gtk.h>

int main (int argc, char *argv[])
{
  GtkWidget *win;

  GtkWidget *button[15];

  GtkWidget *table;

  int a = 0;

  char *tastini[15] = {
    "0", "1", "2", "3",
    "4", "5", "6", "7",
    "8", "9", "+", "-",
    "*", "/", "="
  };

  gtk_init (&argc, &argv);

  win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (win), "Calcolatrice");
  gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
  gtk_window_set_default_size (GTK_WINDOW (win), 200, 300);
  gtk_container_set_border_width (GTK_CONTAINER (win), 1);


  table = gtk_table_new (4, 4, TRUE);
  gtk_table_set_row_spacings (GTK_TABLE (table), 1);
  gtk_table_set_col_spacings (GTK_TABLE (table), 1);
  gtk_container_add (GTK_CONTAINER (win), table);

  for (a; a < 15; a++)
    {
      button[a] = gtk_button_new_with_label (tastini[a]);
    }

  gtk_table_attach (GTK_TABLE (table), button[0], 0, 3, 3, 4,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 0, 0);
  gtk_table_attach (GTK_TABLE (table), button[1], 0, 1, 2, 3,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[2], 1, 2, 2, 3,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[3], 2, 3, 2, 3,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[4], 0, 1, 1, 2,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[5], 1, 2, 1, 2,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[6], 2, 3, 1, 2,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[7], 0, 1, 0, 1,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[8], 1, 2, 0, 1,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);
  gtk_table_attach (GTK_TABLE (table), button[9], 2, 3, 0, 1,
		    GTK_EXPAND | GTK_FILL, GTK_EXPAND, 5, 0);

  g_signal_connect (G_OBJECT (win), "delete-event",
		    G_CALLBACK (gtk_main_quit), NULL);

  gtk_widget_show_all (win);

  gtk_main ();
  return 0;
}
come linguaggio ad oggetti per ora sto studiando il java, però penso che il c++ sarà il prossimo obbiettivo dopo il java.

Rispondi