Repository 32bit  Forum
Repository 64bit  Wiki

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.

gtk

Messaggioda RedSkull92 » sab giu 27, 2009 21:22

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
RedSkull92
Linux 2.6
Linux 2.6
 
Messaggi: 554
Iscritto il: mar apr 21, 2009 16:25
Località: Palermo
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox

Re: gtk

Messaggioda Blizzard » sab giu 27, 2009 22:17

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
Blizzard
Master
Master
 
Messaggi: 1509
Iscritto il: mar gen 02, 2007 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox

Re: gtk

Messaggioda RedSkull92 » sab giu 27, 2009 22:56

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
RedSkull92
Linux 2.6
Linux 2.6
 
Messaggi: 554
Iscritto il: mar apr 21, 2009 16:25
Località: Palermo
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox

Re: gtk

Messaggioda Slack_Eater » dom giu 28, 2009 10:47

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

http://projects.gnome.org/anjuta/index.shtml
Avatar utente
Slack_Eater
Linux 2.0
Linux 2.0
 
Messaggi: 163
Iscritto il: gio feb 14, 2008 21:29
Località: Svizzera
Nome Cognome: Giuseppe Scalzi
Slackware: 13.37
Kernel: 2.6.38.2-smp
Desktop: KDE 4.7.0

Re: gtk

Messaggioda RedSkull92 » dom giu 28, 2009 17:00

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
RedSkull92
Linux 2.6
Linux 2.6
 
Messaggi: 554
Iscritto il: mar apr 21, 2009 16:25
Località: Palermo
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox

Re: gtk

Messaggioda Toni » dom giu 28, 2009 21:58

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
Toni
Linux 2.6
Linux 2.6
 
Messaggi: 993
Iscritto il: lun gen 30, 2006 22:08
Località: milano
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3

Re: gtk

Messaggioda RedSkull92 » mar giu 30, 2009 16:30

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.
Avatar utente
RedSkull92
Linux 2.6
Linux 2.6
 
Messaggi: 554
Iscritto il: mar apr 21, 2009 16:25
Località: Palermo
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite