Qt 5 Quanto Basta: La Guida all’Uso della Libreria Grafica Qt 5

41wM81l4zqL._AA258_PIkin4,BottomRight,-37,22_AA280_SH20_OU29_

Questo libro è diverso. Si, diverso da quelli finora letti sul tema (framework Qt, in lingua inglese). Punta un argomento specifico e quindi si ha come l’impressione di aver sbagliato nuovamente acquisto se non si è interessati alla grafica. Invece, sono a scrivere questa recensione perchè  decisamente entusiasta di quello che viene proposto. L’impiego di un filo conduttore sulla grafica è sfruttato sapientemente per snocciolare argomenti e tecniche finora assenti nei testi (dedicati a Qt) attualmente sul mercato. E’ adatto ai principianti, perchè li prende per mano e li guida dall’installazione all’IDE, alla compilazione, alla distribuzione del proprio software. Poi scende in profondità, passando attraverso la tecnica del D-Pointer, fino alla creazione di una libreria e l’impiego della stessa nei progetti, risultando quantomeno interessante anche per i più consumati programmatori. L’unico neo è rappresentato dall’indisponibilità dei sorgenti utilizzati nel testo, lacuna che spero venga presto colmata(22/06/2014: perfetto, esempi disponibili qui). Comunque, libro “made in italy” promosso a pieni voti!

Disponibile in formato elettronico su amazon.

15 Algoritmi di ordinamento in quasi 6 minuti

Avete mai visto all’opera i tanto blasonati e studiati algoritmi di ordinamento? Gli algoritmi sono: selection sort, insertion sort, quick sort, merge sort, heap sort, radix sort (LSD), radix sort (MSD), std::sort (intro sort), std::stable_sort (adaptive merge sort), shell sort, bubble sort, cocktail shaker sort, gnome sort, bitonic sort and bogo sort.

Date un’occhiata qui:

https://www.youtube.com/watch?v=kPRA0W1kECg&feature=youtu.be

Il Presidente Obama e la chiamata alla programmazione

Il messaggio che il Presidente Obama lancia via web è una chiamata alla programmazione per il popolo americano. Chiede di non limitarsi ad usare il software, come per esempio i giochi, ma di crearlo di proprio pugno!

Leggendo di questa notizia ho subito pensato ad uno scherzo oppure un gioco di parole con altri significati ed invece tutto vero. C’è chi parla di risvolti ai fini dello spionaggio, citando l’ultimo scandalo che ha coinvolto l’NSA, chi ne fa semplicemente un monito per accostarsi alla tecnologia e chi non perde l’occasione per schernire il servizio web cosidetto “ObamaCare”.

Sicuramente è un discorso interessante sia per l’argomento sia per la personalità che lo ha pronunciato. La cosa che mi impressiona di più è la distanza, si proprio la distanza, quella distanza che separa la realtà italiana da quella americana!

Ad majora.

 

 

QInputDialog e setCancelButtonText

Questo breve articolo ha lo sopo di illustrare un uso alternativo della classe QInputDialog del framework Qt 4.8. L’esigenza è nata dalla necessità di impostare il testo del pulsante “Cancel” nell’equivalente in lingua italiana “Annulla”. Gli esempi che si trovano in rete replicano quello della guida a corredo del framework e quindi non tengono in considerazione quest’ultima eventualità. La soluzione è semplice ma averla a disposizione può far guadagnare tempo,

Golang, interessante alternativa

Il nuovo linguaggio di programmazione, nominato Go, creato da Google ormai nel lontano 2007 rappresenta ora un valido rivale dei più blasonati e popolari C++, Python e Javascript. E’ descritto come un progetto open source per rendere gli sviluppatori più produttivi:

The Go programming language is an open source project to make programmers more productive.(http://golang.org/doc/)

Non ho mai avuto la curiosità di approfondire e testare questo linguaggio e così era passato nel mio orizzonte come una cometa che lascia una scia solo per qualche secondo.

Da qualche tempo sembra che l’attenzione generale riscontrabile nel web verso questo nuovo linguaggio sia decisamente in aumento. Ho così iniziato a leggere degli articoli a riguardo e ho avuto come l’impressione che forse potrebbe valere il tempo di un test drive. Vorrei condividere un paio di articoli colpevoli di aver suscitato quella curiosità che da tempo giaceva assopita da qualche parte.

Il primo articolo è una breve guida introduttiva in lingua inglese raggiungibile a questo link.

Il secondo invece è una testimonianza del passaggio di un progetto al nuovo linguaggio e viene descritto da chi effettivamente deve valutare attentamente i pro e i contro; sempre in lingua inglese a questo link.

Spero che questo articolo possa far nascere anche in voi la stessa mia curiosità verso questo nuovo e davvero intrigante linguaggio di programmazione.

 

Qt, Sqlite: How to add SpatiaLite extension

English Version | Italian Version

First of all I’d like to thank Alessandro Furieri for the fantastic Spatialite extension. This is a really useful tool which I use in my Qt(4.8.4) project(C++).

Here is some simple steps to make it works in your project.

The ingredients are:

Instructions:

  1. Go to the folder QTDIR/src/plugins/sqldrivers/sqlite
  2. Open sqlite.pro with Qt Creator
  3. Remove SQLITE_OMIT_EXTENSION string from sqlite.pri
  4. Add to sqlite.c in QTDIR/src/3rdparty/sqlite the following 3 lines

    • #ifndef SQLITE_ENABLE_LOAD_EXTENSION
    • # define SQLITE_ENABLE_LOAD_EXTENSION 1
    • #endif
  5. Build the Debug and Release libraries(libqsqlite4.a, libqsqlited4.a, qsqlite4.dll, qsqlited4.dll)
  6. Copy and overwrite those in QTDIR\plugins\sqldrivers
  7. Extract the files in spatialite-4.0.0-DLL-win-x86.zip and place them into the project’s target folder where the exe will be generated
  8. Rename sqlite3.dll in libsqlite3-0.dll and place it in the same folder
  9. Create a new Qt project
  10. Load the extension as showed below:
      • QSqlQuery tSqlQuery;
        QString sql_command_text;
        sql_command_text = QString
        (
        “SELECT load_extension(\”libspatialite-4.dll\”)”
        );
        tSqlQuery.prepare(sql_command_text);

        if (!tSqlQuery.exec())
  11. Enjoy!