open-pitu

el blog lliure en català

GTK i Glade per dissenyar interfícies (Interficies) [+]

Aquesta tarda, parlant sobre el disseny d'interfícies, m'ha interessat trobar una alternativa al Qt (utilitzat a la FIB) per al disseny d'interfícies, ja que estava convençut que la major part no es fan amb Qt. Buscant una mica ràpid m'he trobat amb GTK i Glade, i he pensat perquè no provar-ho.
GTK
El primer pas doncs, és intentar instal·lar les llibreries que facin falta per poder desenvolupar. A més, instal·lar Glade que és la Ui per desenvolupar interfícies per a GTK (semblant al Designer de Qt).
Segurament es poden fer instal·lacions millors, jo he instal·lat els paquets que he trobat més necessaris i segur que hi ha incorreccions:

  1. $ sudo apt-get install libglade2-0 libglade2-dev glade-gnome glade-3 glade-gnome-3

Com ja he dit segur que és millorable l'instal·lació però funciona, i quan investigues alguna cosa nova per tu, el què vols és veure resultats.
Per tant el primer pas ha estat crear una interfíe amb Glade per veure que funcionava.

  1. $ glade-3

Un cop fet això he buscat com poder compilar. Ja que el programa ens genera un FITXER.glade que és un xml. Per fer-ho necessitarem aquesta estructura:
PROVA1.c

  1. #include
  2. GtkLabel *label;
  3. int main (int argc, char *argv[]){
  4. GtkBuilder *builder;
  5. GtkWidget *window1;
  6. gtk_init (&argc, &argv);
  7. builder = gtk_builder_new ();
  8. gtk_builder_add_from_file (builder, "FITXER.glade", NULL);
  9. window1 = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
  10. label = GTK_LABEL (gtk_builder_get_object (builder,"label"));
  11. gtk_builder_connect_signals (builder, NULL);
  12. g_object_unref (G_OBJECT (builder));
  13. gtk_widget_show (window1);
  14. gtk_label_set_text(label,"");
  15. gtk_main ();
  16. return 0;
  17. }

Aquest fitxer l'hem de tenir en el mateix directori que el fitxer.glade i per compilar executarem:

  1. $ gcc -Wall -g -o prova1 PROVA1.c -export-dynamic `pkg-config --cflags --libs gtk+-2.0`
  2. $ ./prova1

I ja ho estarem executant, això sí, una interfíe que no fa res. El resultat seria:
Pots baixar la meva estructura: aquí.
En algun post futur, s'intentarà fer una visió més general de GTK i fins i tot una mini comparació respecte de Qt, intentant veure virtuds i defectes i comentant les aplicacions que s'han fet amb una i altra llibreria.
Link del how-to. Veure comentaris (o comentar).

Generar nombres aleatoris (CPP) [+]

Per a la generació de nombres pseudo-aleatoris en c++ (i Linux), la millor manera és utilitzant com a llavor el temps de la nostra màquina, de manera que mai tindrem la mateixa, i així mateix mai hi obtindrem la mateixa seqüència de nombres aleatoris. Per fer-ho només cal inicialitzar la llavor abans de cridar el mètode rand().
Generar
Aquest és el codi a seguir:

  1. #include <iostream>
  2. using namespace std;
  3. int main (){
  4. cout << "PRIMER NUM ALEATORI: " << rand() << "\n";
  5. srand ( time(NULL) );
  6. cout << "VERITABLE NUM ALEATORI: " << rand() << "\n";
  7. srand ( 1 );
  8. cout << "TORNEM AL PRIMER NUM ALEATORI: " << rand() << "\n";
  9. return 0;
  10. }

Finalment agrair a l'Imanol que ha estat qui m'ha ajudat a trobar com generar nombres aleatoris a partir de nombres pseudo-aleatoris. A l'enllaç del how-to hi ha l'explicació de com fer-ho de cplusplus.com.
Link del how-to. Veure comentaris (o comentar).

GParted LiveCD 0.4.8-1 (Linux, distribucio) [+]

GParted LiveCD serveix per a crear, esborrar, editar o redimensionar particions de la majoria dels formats més utilitzats (ext2, ext3, fat16, fat32, hfs, ntfs...). En el link de la descàrrega hi ha l'enllaç a la pàgina web oficial del projecte per a què et puguis descarregar la imatge .iso. Un cop fet això només has de crear un CD o un USB amb el seu contingut, reiniciar l'ordinador i modificar la bios per a què arrenqui des de la unitat desitjada.
GParted








En la seva pàgina principal recorden que és millor que et facis un back-up de les teves dades abans de fer redimensionats de particions NTFS, de manera que si t'avisen, es tenen els mitjans i són molt importants les dades d'aquella partició, millor fes-ne cas.
Tens més informació de com crear un Live USB aquí
Link del programa. Veure comentaris (o comentar).

Crear particions NTFS amb GParted (Linux) [+]

Ara veurem els passos a seguir per tal de poder crear particions NTFS des de GParted a l'Ubuntu 9.10. Per fer-ho, primer de tot caldrà instal·lar el programa pricipal (sinó el tenim) i ntfsprogs, que és el paquet que ens permet treballar en el particionat NTFS. Un cop fet aquests dos passos ja podrem executar i crear les particions NTFS que volguem.
Crear
Avui, ajudant en Caay en l'instal·lació de l'Ubuntu 9.10 en el seu nou portàtil, ens hem trobat amb el problema de que no hi havia maneres de crear una partició NTFS.
Fa pocs dies vaig penjar un how-to de com fer que les particions NTFS es muntessin automàticament en el nostre sistema, i realment em pensava, que s'instal·laven els paquets necessaris per a poder crear-ne particions.
La meva sorpresa ha estat quan he vist que no era així, i que faltava un altre paquet:
  1. $ sudo apt-get install gparted
  2. $ sudo apt-get install ntfsprogs
  3. $ sudo gparted

Un cop fet això, ja podem crear sense problemes les nostres particions. En el link del how-to podem veure més informació sobre aquest paquet i en el link de les explicacions anteriors com muntar automàticament les particions NTFS que acabem de crear amb GParted.
Link del how-to. Veure comentaris (o comentar).