signal

Mattepuffo's logo
Introduzione ai signals in Angular

Introduzione ai signals in Angular

Angular 17, tra le varie cose, ha introdotto i signals.

Con i signals adesso Angular è in grado di capire quale parte della pagina aggiornare, in quanto è in grado di ricevere la notifica nel caso del cambiamento del valore.

Nell'articolo introduttivo che vediamo oggi, in verità, possiamo ottenere la stessa cosa anche senza.

Mattepuffo's logo
Introduzione ai SIGNAL in Rust

Introduzione ai SIGNAL in Rust

In general un SIGNAL è un "software interrupt" (scusate ma non saprei come tradurlo in italiano) che viene inviato dal sistema o da un processo per notificare un evento.

Ad esempio quando lanciate un comando nel terminale e poi premte CTRL+C per interromperlo; quello è un SIGNAL.

Mattepuffo's logo
Impostare l'uppercase su una QLineEdit

Impostare l'uppercase su una QLineEdit

La necessità è quella di fare in modo che in una QLineEdit il testo sia sempre in maiuscolo.

Ci sono varie modalità per ottenere questo risultato, ed io ve ne presento una abbastanza semplice da mettere in pratica.

Aprite il file di intestazione del vostro widget e aggiungete uno SLOT:

private slots:
    void toUpper(const QString &text);

A questo punto passiamo al file di implementazione.

Mattepuffo's logo
Aggiornare la gui in Qt da un altro thread

Aggiornare la gui in Qt da un altro thread

Supponiamo di voler eseguire un operazione in un thread secondario, e di voler aggiornare la nostra gui man mano che l'operazione va avanti: come possiamo fare questa cosa in Qt?

Molto semplicemente usando il metodo connect, i SIGNAL e gli SLOT.

Direi di cominciare dal nostro lavoro in background:

// workerthread.h
#ifndef WORKTHREAD_H
#define WORKTHREAD_H

#include <QMutex>
#include <QThread>

class WorkerThread : public QThread
{
    Q_OBJECT
public:
    explicit WorkerThread(QObject *parent = 0, bool b = false);
    void run();
    bool stop;

signals:
    void valueChanged(QString text);
    void finished();
};

#endif // WORKTHREAD_H