ciao MItaly!

ok, più o meno ho capito.
sicuramente è un concetto che devo approfondire.

cmq, seguendo i tuoi consigli, dovrebbe bastare questo:
codice:
ReadHeaderTable::ReadHeaderTable(QString f) {
    file.setFileName(f);
    if (file.exists()) {
        file.open(QFile::ReadOnly | QFile::Text);
    }
}

QStringList ReadHeaderTable::setHeader() {
    QStringList list;
    if (file.isOpen()) {
        while(!file.atEnd()) {
            list.append(file.readLine().replace("\n", ""));
        }
    }
    return list;
}
poi richiamo il tutto così:
codice:
ReadHeaderTable rht(":/h_get_articoli.txt");
header = rht.setHeader();
l'ho provato, e sembra funzionare.

però a questo punto mi sorge un dubbio.
sempre dove richiamo ReadHeaderTable, ho tutta una serie di componenti (seguendo gli esempi della documentazione):
codice:
QGroupBox *horizontalGroupBox = new QGroupBox();
QHBoxLayout *hl = new QHBoxLayout();
..............
mi trovo in una classe derivata, che estende una classe base di tipo QMainWindow.
questi li dovrei deallocare uno per uno, o ci pensa il distruttore della classe base?
codice:
BaseWindow::~BaseWindow() {
    delete ui;
}