Здравствуйте.
Есть большая таблица в БД, которую требуется перечитывать каждые n секунд.
Чтобы графика не подвисала на время обновления таблицы, я вынес её в дополнительный поток.
Проблема в том, что QTableView обображает таблицу, а затем ещё столько же пустых строк.

Откуда беруться эти дополнительные строки ?
Как от них избавиться ?
MyThread.h#ifndef MYTHREAD_H
#define MYTHREAD_H
#include <QThread>
#include <QSqlQueryModel>
class MyThread : public QThread
{
public:
    void run();
    QSqlQueryModel* MyThread::model();
protected:
    QSqlQueryModel m_model;
};
#endif
#include "MyThread.h"
void MyThread::run()
{
    m_model.setQuery("select * from person");
    m_model.setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
    m_model.setHeaderData(1, Qt::Horizontal, QObject::tr("First name"));
    m_model.setHeaderData(2, Qt::Horizontal, QObject::tr("Last name"));
}
QSqlQueryModel* MyThread::model()
{
    return (&m_model);
}
#include <QtGui>
#include "connection.h"
#include "MyThread.h"
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    if (!createConnection())
        return 1;
    MyThread myThread;
    QTableView *view = new QTableView;
    view->setModel(myThread.model());
    view->resize(400,400);
    view->show();
    myThread.start();
    return app.exec();
}