-1
これを引き起こす可能性のあるものは見つかりません。私は自分のUIフォームでButtonsとTableViewsを定義しています。Qt - なぜQTableViewはそのモデル()を失っていますか?
それから私は実行します。
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).
}
しかし、その後、私は持っている:
void MainWindow::on_save_clicked()
{
QTableView* current = (QTableView*) ui->tables->currentWidget();
// current table is correctly found.
QSqlTableModel* model = (QSqlTableModel*) current->model();
// model is null
}
任意の手がかり?
おそらく、 'ui-> tables-> currentWidget()'は 'table'と同じではありません。 – drescherjm
@drescherjmくそ、objectName()は私を混乱させました(彼らは同じでした)。あなたは正しい、一つはコンテナ、もう一つはテーブル(そのコンテナ内)です。 – Ernio