lunedì 17 dicembre 2012

Usare le librerie QWT in QtCreator

Per creare grafici in Qt e' comodo utilizzare Qt Widgets for Technical Application (QWT) che possono essere installate semplicamente mediante

apt-get install libqwt-dev

una volta aperto QtCreator troveremo il nuovo widget nella barra a sinistra


se si tenta di compilare il progetto a questo stadio si genera pero' un errore perche' si deve modificare il file .pro

aggiungendo
----------------------------------
 INCLUDEPATH += /usr/include/qwt

LIBS += -l qwt

----------------------------------
il codice per generara un semplice grafico e' il seguente

----------------------------------
    ui->qwtPlot->setGeometry(0,0,380,180);
    ui->qwtPlot->setAxisScale(QwtPlot::xBottom,0.0,100.0);
    ui->qwtPlot->setAxisScale(QwtPlot::yLeft,0.0,10000.0);

    //genera i dati
    double x[100], y[100];
    for (int i=0; i<100;i++)
    {
        x[i] = i;
        y[i] = i*i;
    }
    //associa i dati ad una urve
    QwtPlotCurve *curve = new QwtPlotCurve("Dati");
    curve->setSamples(x,y,100);
    //associa la curve al grafico
    curve->attach(ui->qwtPlot);
    //redisegna il grafico
    ui->qwtPlot->replot();
 ----------------------------------
che ha come risultato il seguente grafico


Cattura schermata con Shutter

Alcuni Desktop Environment usano un sistema integrato per la cattura dello schermata (vedi Gnome con il tasto Stamp)

In altri casi puo' essere utile impiegare un programma apposito come puo' essere Shutter


venerdì 14 dicembre 2012

Hello World in QT

Un esempio su come creare una semplice applicazione in Qt/Gui in Debian Linux

Per prima cosa si deve scaricare il pacchetto QtCreator con tutte le sue dipendenza

apt-get install qtcreator

poi si crea un nuovo progetto Qt/GUI





Si crea in modo visuale il form


e si genera uno slot ovvero si associa l'evento al codice 


in questo caso sull'onclick del pulsante


si codifica l'evento


 e si compila ed esegue mediante il pulsante verde in basso sulla barra di sinistra




giovedì 13 dicembre 2012

Debugging Android in VirtualBox

L'emulatore di Android e' decisamente troppo lento su alcune piattaforme e qualche volta per il debugging e' meglio utilizzare direttamente un telefono

Una soluzione per velocizzare lo sviluppo e' quello di non utilizzare l'emulatore contenuto nell'SDK ma impiegare una macchina virtuale Virtualbox

Per fare cio' si deve scaricare una versione di Android compilata per x86 e piu' in particolare una versione ottimizzata per VirtualBox. Una ottima macchina si puo' scaricare da questo link

In seguito si imposta la macchina virtuale come segue







non sono necessarie modifiche alla scheda di rete virtuale

Una volta avviata la macchina virtuale si deve formattare la partizione virtuale in ext3 tramite fdisk










Una volta lanciata la macchina virtuale questa puo' essere interrogata via adb (tutte le funzionalita' sono funzionanti). Per sviluppare si puo' indirizzare Eclipse ad utilizzare la macchina VirtualBox che viene vista come se fosse un telefono

Schermata di Command con comando ADB in esecuzione

Screenshot effettuato con DDMS

Screenshot effettuato con DDMS

martedì 11 dicembre 2012

Luna e Venere - Reale e Virtuale



Debian ed Ubuntu Full Screen in VirtualBox

Una volta installato Debian ed Ubuntu dentro una macchina virtuale Debian purtroppo la risoluzione massima dello schermo e' bloccata al 1024x768 e con i monitor moderni non e' certo un bel vedere
Debian Testing Lxde 1680x1050

per godere della modalita' Full-Screen si deve procedere come segue

Ubuntu 
sudo apt-get install virtualbox-guest-dkms

e poi riavviare la macchina virtuale

Debian
ovviamente con Debian e' piu' complicato
apt-get install build-essential module-assistant
m-a prepare

in seguito si monta il cd delle Guest Addition e si lancia VBoxLinuxAdditions.run
si riavvia ed il gioco e' fatto

con Gnome3 della Debian Testing la macchina virtuale funziona piuttosto male...non ci sono problemi per gli altri DE

venerdì 7 dicembre 2012

Driver ADB su Windows


Dato che uso normalmente Linux ho scoperto solo adesso che per programmare Android in Windows e' necessario installare i driver Adb prima di poter interagire con il telefono

Per i telefoni Android i driver sono contenuti all'interno del software Kies che include sia i driver che il software per l'aggiornamento del firmware e la gestione del telefono

Per altri telefoni, come l'Ideos della Huawei, sono disponibili  i driver presso il sito del costruttore

Change Detection with structural similarity

L'idea di base e' quella di cercare le differenze tra le due immagini sottostanti Non e' immediatamente visibile ma ci sono dei ...