Почему QSqlTableModel :: select () не запускает сигнал dataChanged / rowInserted? - PullRequest
0 голосов
/ 16 марта 2020

Я использую QSqlTableModel для подключения к таблице базы данных и использую QTableView для отображения содержимого таблицы. После внесения некоторых изменений в таблицу извне, я нажимаю кнопку «refre sh», чтобы обновить sh представление, и содержимое в представлении обновляется. Но почему сигнал dataChanged / rowInserted не срабатывает?

connect(refreshbutton,SIGNAL(clicked()),this, SLOT(onrefresh()));
connect(&model,SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),this,SLOT(onDataChanged(const QModelIndex &, const QModelIndex &)));
connect(&model,SIGNAL(rowsInserted(const QModelIndex &, int , int )),this,SLOT(onRowsInserted(const QModelIndex &, int , int )));

void MyWindow::onrefresh()
{
    model.select();
}

Слоты onDataChanged / onRowsInserted никогда не вызываются после того, как я нажимаю кнопку refre sh. Если QSqlTableModel :: select () не вызывает эти сигналы, как я могу получить эти сигналы?

...