Russian Qt Forum
Ноябрь 05, 2024, 06:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Поясните суть сообщений от QTableView и QObject  (Прочитано 4751 раз)
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();
}

Объясните, пожалуйста, что происходит при использовании модели. В целях повышения образованности.
Записан
spectre71
Гость
« Ответ #1 : Декабрь 14, 2009, 10:31 »

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

Читай документацию!
И с подобными вопросами в раздел "Вопросы новичков" !!!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Декабрь 14, 2009, 10:49 »

Цитировать
Cannot connect (null)::rowsInserted(QModelIndex,int,int)
ключевое место выделено жирным.
Т.е. при соединении ты не указал объект.

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

Юра.
BRE
Гость
« Ответ #3 : Декабрь 14, 2009, 10:50 »

Да добавь в класс Q_OBJECT  Улыбающийся
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #4 : Декабрь 14, 2009, 13:45 »

Код
C++ (Qt)
int SqlQueryModel::rowCount()
{
   ....
   return rowCount();
}


рекурсия
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
GraninAS
Гость
« Ответ #5 : Декабрь 15, 2009, 03:50 »

Что ж, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.167 секунд. Запросов: 23.