crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Последовательный вызов слотов.
Andrewshkovskii
  опции профиля:
сообщение 25.9.2009, 20:22
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Ситуация такая : я сейчас отлаживаю приложения, и после каждого вызова своего метода(слота)/сигнала вывожу информацию кто его вызвал.
Примерно вот так
View::setDisableReadDataButton method called
View::setEnabledViewCountSpinBox method called
View::setEnabledViewColumnSpinBox method called
View::setViewCount method called
View::setViewCount method called
View::setViewContColumns method called
View::setViewContColumns method called
View::distanceMatrixModelSet signal emited
View::setDistanceMatrixModel method called
Model::distanceMatrixModelReady(QStandardItemModel*) signal emited
View::dataMatrixModelSet signal emited
View::setDataMatrixModel method called
Model::dataMatrixModelRead(QStandardItemModel*) signal emited
Model::setUpDataMatrixModel method called
Model::dataReaded() signal emited
View::setViewCount method called
View::distanceMatrixModelSet(int) signal emited
View::updateDistanceMatrixModel method called
Model::distanceMatrixCalculated(QStadardItemModel*) signal emited
Model::calculateNewDistanceMatrixModel method called
View::setParameterSwitcherBar method called
Model::dataReaded(QStringList*) signal emited
Model::readData method called


Выводиться оно стеком..да правда каким-то не понятным, по логике вещей кое-что не совпадает с порядком вызова.
И вопрос такой : если я к одному слоту привязываю несколько сигналов, можно ли добиться того, что бы они вызывались в порядке подключения через QObject::connect()?
Если надо, вот исходник контроллера, который все это дело соединяет :

=cpp
connect(model,SIGNAL(dataReaded(QStringList*)),view,SLOT(setParameterSwitcherBar(QStringList*)));
connect(view->readDataButton,SIGNAL(clicked()),model,SLOT(readData()));
connect(model,SIGNAL(dataReaded()),view,SLOT(setEnabledViewCountSpinBox()));
connect(model,SIGNAL(dataReaded()),view,SLOT(setEnabledViewColumnSpinBox()));
connect(view,SIGNAL(distanceMatrixModelSet(int)),view,SLOT(setViewCount(int)));
connect(view->viewCountColumsSpinBox,SIGNAL(valueChanged(int)),view,SLOT(setViewCountColumns(int)));

connect(model,SIGNAL(dataReaded()),model,SLOT(setUpDataMatrixModel()));
connect(model,SIGNAL(dataMatrixModelReady(QStandardItemModel*)),
        view,SLOT(setDataMatrixModel(QStandardItemModel*)));

connect(view,SIGNAL(dataMatrixModelSet()),model,SLOT(setUpDistanceMatrixModel()));
connect(model,SIGNAL(distanceMatrixModelReady(QStandardItemModel*)),
            view,SLOT(setDistanceMatrixModel(QStandardItemModel*)));
connect(view->parametersSwithcerBar,SIGNAL(currentChanged(int)),model,SLOT(calculateNewDistanceMatrixModel(int)));
connect(model,SIGNAL(distanceMatrixCalculated(QStandardItemModel*)),view,SLOT(updateDistanceMatrixModel(QStandardItemModel*)));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2022, 15:55