Ich kann nichts finden, was dies verursachen könnte. Ich habe Buttons und TableViews in meinem UI-Formular definiert.Qt - Warum verliert QTableView sein Modell()?
Dann mache ich:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
if (!createConnection(this))
printf("%s\n", "Unable to set up database!");
QSqlTableModel* model = new QSqlTableModel(this);
model->setTable(tableName);
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
table->setModel(model);
// At this point both model and table->model return same thing (proper model).
}
Aber dann habe ich:
void MainWindow::on_save_clicked()
{
QTableView* current = (QTableView*) ui->tables->currentWidget();
// current table is correctly found.
QSqlTableModel* model = (QSqlTableModel*) current->model();
// model is null
}
Irgendwelche Hinweise?
Vielleicht 'UI-> Tabellen-> Current()' ist nicht das gleiche wie 'table'. – drescherjm
@drescherjm Verdammt, objectName() hat mich verwirrt (sie waren gleich). Du hast recht, einer ist ein Container, ein anderer ist ein Tisch (in diesem Container). – Ernio