crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> почему в Qt не цикла
__ilya__
  опции профиля:
сообщение 23.1.2012, 12:41
Сообщение #1


Студент
*

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

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




Репутация:   0  


я не давно начал юзать Qt и не пойму как в программе все события происходят без цикла.
я работал с SDL, так-же вместе с OpenGL там сначала объявиш все переменные, а все события (обработка мыши, клавиатуры и т.п.) происходят в бесконечном цикле. обычно последний метод в теле цикла смена изображения в окне.
А в Qt этого нет, не пойму, как без цикла работает. :blink:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 23.1.2012, 13:33
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Не совсем понятно, что имеется ввиду под "в Qt не цикла"! :)
Если я правильно понял, то ответ на твой вопрос заключается в асинхронности сигналов и слотов.

p.s. Другими словами, ты видишь цикл? И я не вижу, а он есть. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ssoft
  опции профиля:
сообщение 23.1.2012, 13:40
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 130
Регистрация: 17.2.2010
Из: Москва
Пользователь №: 1470

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




Репутация:   3  


Цитата(__ilya__ @ 23.1.2012, 13:41) *
я не давно начал юзать Qt и не пойму как в программе все события происходят без цикла.
я работал с SDL, так-же вместе с OpenGL там сначала объявиш все переменные, а все события (обработка мыши, клавиатуры и т.п.) происходят в бесконечном цикле. обычно последний метод в теле цикла смена изображения в окне.
А в Qt этого нет, не пойму, как без цикла работает. :blink:


Цикл есть. Просто он скрыт о пользователя.
Если по простому, то все происходит так.
В приложении существует диспетчер и очередь сообщений. В очередь поступают сообщения, диспетчер в цикле последовательно их направляет для обработки соответствующим объектам. Всё.

Кстати, цикл вызывается через метод приложения - exec.

Сообщение отредактировал ssoft - 23.1.2012, 13:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 31.1.2012, 20:03
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


__ilya__, прочитай хотя бы одну страницу
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 14.2.2012, 16:54
Сообщение #5


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

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

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




Репутация:   8  


Цикл есть!

QCoreApplication::exec()
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 18.4.2024, 3:08