Pagina 1 di 1

gtk

Inviato: sab 27 giu 2009, 22:22
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++ ?

Re: gtk

Inviato: sab 27 giu 2009, 23:17
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

Re: gtk

Inviato: sab 27 giu 2009, 23:56
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.

Re: gtk

Inviato: dom 28 giu 2009, 11:47
da Slack_Eater
Se vuoi un IDE per programmare con le gtk e C c'è anjuta.

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

Re: gtk

Inviato: dom 28 giu 2009, 18:00
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

Re: gtk

Inviato: dom 28 giu 2009, 22:58
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)

Re: gtk

Inviato: mar 30 giu 2009, 17:30
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.