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. 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, [Read more...]

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!

 

Qt, Sqlite e come aggiungere l’estensione Spatialite

Italian Version | English Version

Innanzitutto vorrei ringraziare Alessandro Furieri per il suo fantastico lavoro nell’estendere Sqlite con funzionalità GIS creando così Spatialite. Ho avuto modo di apprezzare questa straordinaria estensione includendola nei miei progetti realizzati con Qt(4.8.4) in C++.

Questa guida è per tutti quelli che come me potrebbero avere la necessità di ampliare le funzioni di Sqlite nei progetti creati con le librerie Qt. Partiamo allora dagli ingredienti:

Ora si deve procedere alla modifica dei driver Sqlite di Qt per conferirgli la capacità di caricare le estensioni:

  1. Portarsi nella directory QTDIR/src/plugins/sqldrivers/sqlite
  2. Aprire il progetto sqlite.pro con Qt Creator
  3. Rimuovere la stringa SQLITE_OMIT_EXTENSION dal file sqlite.pri
  4. Aggiungere al sorgente sqlite.c in QTDIR/src/3rdparty/sqlite le seguenti righe

    • #ifndef SQLITE_ENABLE_LOAD_EXTENSION
    • # define SQLITE_ENABLE_LOAD_EXTENSION 1
    • #endif
  5. Creare le librerie per il Debug e Release (libqsqlite4.a, libqsqlited4.a, qsqlite4.dll, qsqlited4.dll)
  6. Copiarle nella dir QTDIR\plugins\sqldrivers a sostituire quelle esistenti
  7. Posizionare tutte le librerie contenute nel file spatialite-4.0.0-DLL-win-x86.zip nella directory dell’eseguibile generato dal progetto .pro
  8. Rinominare la libreria sqlite3.dll in libsqlite3-0.dll e posizionarla insieme alle altre come al punto 7
  9. Creare un nuovo progetto  con Qt Creator
  10. Caricare l’estensione con il seguente comando
      •  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. Buon divertimento!

PS: Se ti è piaciuto questo articolo e se ti va di dare un aiuto a far decollare una nuova avventura visita questo sito www.spellbyte.com , grazie!