Werde es nun mit Splittern versuchen zu lösen, dann kann man zwar die Fenster nicht mehr herausziehen, aber das ist ja nicht so wichtig.
Leider darf ich dir den Quelltext nicht geben, da es ein Projekt ist, welches ich für die Firma mache.
Mit QListView und QTableView ist dies allerdings sehr einfach.
Zuerst erstellst du ein QStringListModel und weist ihm die Tabellen der Datenbank zu:
Code: Alles auswählen
QStringListModel stringListModel = new QStringListModel(this);
stringListModel->setList(database.tables());
Anschließend verbindest du dein QListView mit dem QStringListModel
Nun musst du nur noch die gewünschten Tabellen in einem QTableView öffnen, welche in meinem Fall die angeklickte Tabelle ist:
Code: Alles auswählen
/****************************************************************************/
/* on_listView_clicked(const QModelIndex &index) */
/* */
/* Function: fill the tableView with the contents */
/* */
/****************************************************************************/
void MainClass::on_listView_clicked(const QModelIndex &index)
{
//clean up the tableModel
if(this->mTableModel)
{
delete this->mTableModel;
this->mTableModel=NULL;
}
//create a new tableModel
mTableModel = new QSqlTableModel(this,database);
ui.tableView->setModel(mTableModel);
//clean up the tableView
ui.tableView->clearSpans();
//set the tableModel
mTableModel->setTable(index.data().toString());
mTableModel->select();
}
Ich hoffe ich konnte dir etwas helfen
lg Daniel