Witajcie, mam następujący problem. Moja wiedza na temat C++ za wielka nie jest, stąd też mam takie zapytanie. Pisze program w QT i mam taki fragment kodu:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtSql>
#include <QDebug>
#include <QFileInfo>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    QSqlDatabase mydb;
    void connClose()
    {
        mydb.close();
        mydb.removeDatabase(QSqlDatabase::defaultConnection);
    }

    bool connOpen()
    {
        mydb=QSqlDatabase::addDatabase("QSQLITE");
        mydb.setDatabaseName("C:/QTp/test/database.sqlite");

    if(!mydb.open()){
        qDebug()<<("Nie działa");
        return false;
    }
    else
        qDebug()<<("OK");
        return true;
    }

W obecnej chwili tylko jedna baza jest przyporządkowana, a ja bym chciał aby użytkownik z okna głównego mógł zmieniać adres miedzy database i database2 albo za pomoca pushbuttonów albo comboboxa, coś w stylu:

if(ui->comboBox->currentText() == "db1")
mydb.setDatabaseName("C:/QTp/test/database.sqlite");
if(ui->comboBox->currentText() == "db2")
mydb.setDatabaseName("C:/QTp/test/database2.sqlite");

Przy takiej konstrukcji dostaję następujące błędy:
invalid use of incomplete type 'class Ui::MainWindow' if(ui->comboBox->currentText() == "db1")
błąd: forward declaration of 'class Ui::MainWindow' class MainWindow;
invalid use of incomplete type 'class Ui::MainWindow' if(ui->comboBox->currentText() == "db2")

Co zrobić by użytkownik mógł swobodnie zmieniać adresy baz danych?