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.

Nel costruttore del widget aggiungiamo una connect per collegare la QLineEdit al nostro SLOT:

connect(ui->myQlineEdit, SIGNAL(textEdited(const QString &)), SLOT(toUpper(const QString &)));

Intercettiamo il SIGNAL textEdited e lo colleghiamo alla funzione toUpper, che è questa qua:

void MyWidget::toUpper(const QString &text) {
    QLineEdit *qle = qobject_cast(sender());
    if (!qle) return;
    ui->myQlineEdit->setText(text.toUpper());
}

Tutto qua.

Enjoy!