Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: GraninAS от Декабрь 14, 2009, 10:21



Название: Поясните суть сообщений от QTableView и QObject
Отправлено: GraninAS от Декабрь 14, 2009, 10:21
Здравствуйте. При выполнении программы в дебаг падают такие сообщения:

QObject::connect: Cannot connect (null)::rowsInserted(QModelIndex,int,int) to QTableView::_q_updateSpanInsertedRows(QModelIndex,int,int)
QObject::connect: Cannot connect (null)::columnsInserted(QModelIndex,int,int) to QTableView::_q_updateSpanInsertedColumns(QModelIndex,int,int)
QObject::connect: Cannot connect (null)::rowsRemoved(QModelIndex,int,int) to QTableView::_q_updateSpanRemovedRows(QModelIndex,int,int)
QObject::connect: Cannot connect (null)::columnsRemoved(QModelIndex,int,int) to QTableView::_q_updateSpanRemovedColumns(QModelIndex,int,int)

Я понимаю, что причины - в модели. Модель не то чтобы моя, а именно:

Код:
class SqlQueryModel : public QSqlQueryModel
{
public:
SqlQueryModel(QObject* parent = NULL);

virtual int rowCount();
};

SqlQueryModel::SqlQueryModel(QObject* parent)
: QSqlQueryModel(parent)
{
}

int SqlQueryModel::rowCount()
{
int count = 0;
while (canFetchMore())
{
fetchMore();
++count;
}
return rowCount();
}

Объясните, пожалуйста, что происходит при использовании модели. В целях повышения образованности.


Название: Re: Поясните суть сообщений от QTableView и QObject
Отправлено: spectre71 от Декабрь 14, 2009, 10:31
Объясните, пожалуйста, что происходит при использовании модели. В целях повышения образованности.

Читай документацию!
И с подобными вопросами в раздел "Вопросы новичков" !!!


Название: Re: Поясните суть сообщений от QTableView и QObject
Отправлено: lit-uriy от Декабрь 14, 2009, 10:49
Цитировать
Cannot connect (null)::rowsInserted(QModelIndex,int,int)
ключевое место выделено жирным.
Т.е. при соединении ты не указал объект.

П.С. QObject::connect выполняется во время выполнения, поэтому компилятор косяков не видит.


Название: Re: Поясните суть сообщений от QTableView и QObject
Отправлено: BRE от Декабрь 14, 2009, 10:50
Да добавь в класс Q_OBJECT  :)


Название: Re: Поясните суть сообщений от QTableView и QObject
Отправлено: pastor от Декабрь 14, 2009, 13:45
Код
C++ (Qt)
int SqlQueryModel::rowCount()
{
   ....
   return rowCount();
}


рекурсия


Название: Re: Поясните суть сообщений от QTableView и QObject
Отправлено: GraninAS от Декабрь 15, 2009, 03:50
Что ж, спасибо.