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?