crossplatform.ru

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

4 страниц V  « < 2 3 4  
Ответить в данную темуНачать новую тему
> Треп из темы Секреты и интересные возможности Qt, сюда будет переносится треп...
BRE
  опции профиля:
сообщение 13.3.2009, 21:41
Сообщение #31


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(SABROG @ 13.3.2009, 21:26) *
Если код делает тоже самое, то это не значит, что нет никакой разницы. Попробую пояснить. QTimer::singleShot внутри производит connect и emit сигнала timeout(). Т.к. соединение Qt::QueuedConnection, то формируется event, который помещается в очередь событий. QMetaObject::invokeMethod минует стадию connect'a и emit'a, и сразу помещает эвент в очередь. Конечно в скорости особо мы врятли выйграем, но просто как факт того, что разница есть.

Согласен с SABROG, invokeMethod делает тоже, только более идиологически правильней. :)
QTimer::singleShot внутри себя создает объект QSingleShotTimer, коннектится, короче делает некоторую не очень нужную работу. Просто это первое что пришло мне на ум. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 14.3.2009, 1:05
Сообщение #32


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Как бы там нибыло, я не говорю, что все что я говорю это правильно, я не гуру ни в С++ ни в Qt. Просто хочется обратить внимание на интересные элементы библиотеки. В споре рождается истина © Сократ

Делайте как считаете правильным, альтернативные возможности имейте ввиду. Если в программе не помогут, то может быть станут отправной точкой в понимании механизмов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  « < 2 3 4
Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 26.11.2024, 16:40