Ancora Giove (in alto a destra) trionfa nel cielo invernale, stavolta insieme con la Luna ed Aldebaran
lunedì 15 aprile 2013
venerdì 12 aprile 2013
Dialog window modale e non modale in Qt
Di seguito un esempio su come aprire una finestra QDialog in modalita' modale e non modale (ovvero sempre in primo piano con focus attivo o meno)
---------------------------------------------
Dialog_class *dialog_class = new Dialog_class();
dialog_class->setAttribute(Qt::WA_DeleteOnClose, true);
//apre la finestra in modo modale
dialog_class->exec();
//apre la finestra in modo non modale
dialog_class->show();
dialog_class->raise();
Cancellare file in Qt
Un metodo per cancellare file in Qt
--------------------------------------------------------
void MainWindow::on_actionCancella_CVS_triggered()
--------------------------------------------------------
void MainWindow::on_actionCancella_CVS_triggered()
{
QFile file( QDir::homePath() + QDir::separator() +"anagrafiche_export.txt");
if (file.exists())
{
file.remove();
}
}
Aprire una porta UDP su un Firewall Linux
Un metodo rapido per aprire il firewall iptables di Linux per permettere le connessioni UDP sulla porta 55000
iptables -A INPUT -p udp --destination-port 55000 -j ACCEPT
iptables -A INPUT -p udp --destination-port 55000 -j ACCEPT
Riportare al firmware originale Nexus S GT-I9023
Mi sono comprato usato un Nexus S GT-I9023.
Il telefono mi e' arrivato con una custom ROM con Android 4.2.2 ed ho deciso riportarlo al firmware originale di Google (un po' perche' mi sembrava un po' scattoso, un po' per avere la sicurezza di compatibilita')
La procedura e' quanto mai semplice:
Si scarica il firmware originale del telefono a questo indirizzo e si scompatta in una macchina con SDK Android installato (in realta' basta avere adb e fastboot)
Si riavvia il telefono in fastboot mode
Si lancia quindi (su Linux) lo script flash-all.sh
Gia' finito...bello avere un Nexus
Questi sono i messaggi a video, si osservi il tempo totale
----------------------------------------------------------------------
root@debianx40:/home/luca/Downloads/soju-jzo54k# ./flash-all.sh
sending 'bootloader' (1536 KB)...
OKAY [ 0.210s]
writing 'bootloader'...
OKAY [ 0.382s]
finished. total time: 0.592s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
< waiting for device >
sending 'radio' (12288 KB)...
OKAY [ 1.641s]
writing 'radio'...
OKAY [ 1.903s]
finished. total time: 3.545s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: I9020XXLC2
Baseband Version.....: I9020XXKI1
Serial Number........: 373342FC9C0400EC
--------------------------------------------
checking product...
OKAY [ 0.001s]
checking version-bootloader...
OKAY [ 0.001s]
checking version-baseband...
OKAY [ 0.001s]
sending 'boot' (3964 KB)...
OKAY [ 4.966s]
writing 'boot'...
OKAY [ 0.563s]
sending 'recovery' (4308 KB)...
OKAY [ 0.768s]
writing 'recovery'...
OKAY [ 0.643s]
sending 'system' (337443 KB)...
OKAY [ 75.814s]
writing 'system'...
OKAY [ 42.327s]
erasing 'userdata'...
OKAY [ 0.361s]
formatting 'userdata' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.015s]
erasing 'cache'...
OKAY [ 1.690s]
formatting 'cache' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.001s]
rebooting...
finished. total time: 127.162s
Il telefono mi e' arrivato con una custom ROM con Android 4.2.2 ed ho deciso riportarlo al firmware originale di Google (un po' perche' mi sembrava un po' scattoso, un po' per avere la sicurezza di compatibilita')
La procedura e' quanto mai semplice:
Si scarica il firmware originale del telefono a questo indirizzo e si scompatta in una macchina con SDK Android installato (in realta' basta avere adb e fastboot)
Si riavvia il telefono in fastboot mode
Si lancia quindi (su Linux) lo script flash-all.sh
Gia' finito...bello avere un Nexus
Il telefono riavviato in Fastboot Mode |
Il riavvio dopo aver flashato |
----------------------------------------------------------------------
root@debianx40:/home/luca/Downloads/soju-jzo54k# ./flash-all.sh
sending 'bootloader' (1536 KB)...
OKAY [ 0.210s]
writing 'bootloader'...
OKAY [ 0.382s]
finished. total time: 0.592s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
< waiting for device >
sending 'radio' (12288 KB)...
OKAY [ 1.641s]
writing 'radio'...
OKAY [ 1.903s]
finished. total time: 3.545s
rebooting into bootloader...
OKAY [ 0.001s]
finished. total time: 0.001s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: I9020XXLC2
Baseband Version.....: I9020XXKI1
Serial Number........: 373342FC9C0400EC
--------------------------------------------
checking product...
OKAY [ 0.001s]
checking version-bootloader...
OKAY [ 0.001s]
checking version-baseband...
OKAY [ 0.001s]
sending 'boot' (3964 KB)...
OKAY [ 4.966s]
writing 'boot'...
OKAY [ 0.563s]
sending 'recovery' (4308 KB)...
OKAY [ 0.768s]
writing 'recovery'...
OKAY [ 0.643s]
sending 'system' (337443 KB)...
OKAY [ 75.814s]
writing 'system'...
OKAY [ 42.327s]
erasing 'userdata'...
OKAY [ 0.361s]
formatting 'userdata' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.015s]
erasing 'cache'...
OKAY [ 1.690s]
formatting 'cache' partition...
Erase successful, but not automatically formatting.
Can't determine partition type.
OKAY [ 0.001s]
rebooting...
finished. total time: 127.162s
martedì 9 aprile 2013
StrTok in Qt
Data una QString composta da piu' campi divisi da un separatore si possono ottenere le sottostringhe utilizzando un metodo differente da Strtok tipico di C ovvero passando attraverso una StringList
Nell'esempio che segue la stringa di input e' data da un pacchetto UDP cosi' formato
1;Luca;Innocenti
per ottenere il primo campo (il valore 1) si puo' procedere come segue
----------------------------------------------------------------------
QString pacchetto = datagram.data();
----------------------------------------------------------------------
in pratica si preleva il primo campo (indice = 0) della StringList
Nell'esempio che segue la stringa di input e' data da un pacchetto UDP cosi' formato
1;Luca;Innocenti
per ottenere il primo campo (il valore 1) si puo' procedere come segue
----------------------------------------------------------------------
QString pacchetto = datagram.data();
QStringList myStringList = pacchetto.split(";");
QString str_pettorale = myStringList.at(0);
----------------------------------------------------------------------
in pratica si preleva il primo campo (indice = 0) della StringList
Validare l'input di una QLineEdit
Per validare direttamente al momento della digitazione l'input in una QLineEdit di Qt si procede definendo prima un QRegExp con l'opportuna espressione regolare e poi si associa il validatore alla Line Edit
Piu' nel dettaglio
Piu' nel dettaglio
QRegExp re( "^[0-9]*$" );
QRegExpValidator *validator = new QRegExpValidator( re, 0 );
ui->linepettorale->setValidator( validator );
in questo modo nella QLineEdit denominata linepettorale saranno accettati solo valori numerici
Attenzione: questo metodo non funziona con i widget TextEdit
Iscriviti a:
Post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...