Loading ...

QPlainTextEdit è il classico componente che corrisponde ad una textarea.

Quindi gestisce svariato testo su multi righe, ecc.

In questo caso parliamo di testo semplice, ma ci dovrebbero essere componenti per gestire testo più complesso.

Rispetto ad altri linguaggi, usare oggetti custom in Qt ha qualche complicazione in più.

Soprattutto per quanto riguarda "l'inizializzazione" dell'oggetto custom (potete vedere la discussione sul forum qt.io).

Oggi vediamo come riempire una QList usando un oggetto custom.

Il mio oggetto corrisponde ad una tabella di database; e da li che prenderò i dati.

Sostanzialmente riempio una QTableWidget da database, e voglio mettere un QPushButton nelll'ultima colonna (il classico tasto per cancellazione).

Non andremo a vedere come reperisco i dati da db, ma diamo per scontato di avere una QList perfettamente riempita.

Nel nostro file di intestazione andiamo ad aggiungere questo:

private slots:
    void delSync(QTableWidgetItem *item);

private:
    void createMainLayout();

Nella mia interfaccia create in Qt, ho due QLineEdit e due QPushButton.

Entrambi i bottoni avviano un QFileDialog per la scelta di una cartella; ma a seconda di quale bottone viene cliccato, devo riempire una QLineEdit piuttosto che l'altra.

Oggi vediamo come riempire una QComboBox usando un oggetto QMap.

Vedremo anche come recuperare la chiave del valore selezionato (grazie al Qt forum per il suggerimento).

Vi posto tutta la classe, comprensive di intestazione:

#ifndef DIALOGADD_H
#define DIALOGADD_H

#include <QLineEdit>
#include <QFileDialog>
#include <QPushButton>

#include <QDebug>

namespace Ui {
class DialogAdd;
}

class DialogAdd : public QDialog {
    Q_OBJECT

public:
    explicit DialogAdd(QWidget *parent = nullptr);
    virtual ~DialogAdd();

private slots:
    void getSync();

private:
    QMap<QString, QString> syncMap;
    Ui::DialogAdd *ui;
};

#endif // DIALOGADD_H