Вопрос Qt для начинающих по сигналам и слотам - PullRequest
2 голосов
/ 29 апреля 2009

Я только начал изучать Qt, который является моим первым опытом работы с GUI. До сих пор это были только консольные приложения и немного SDL.

Я очень запутался со всей этой штукой сигналов и слотов. Я только что закончил Урок 11 . Когда вы нажимаете стрелять, кнопка стрелять посылает сигнал, который подключен к слоту в Cannonfield, для функции «стрелять». Функция съемки запускает таймер, который выдает сигнал каждые 5 мс, чтобы сообщить съемке о продвижении кадра вперед. Я все это понимаю.

Я экспериментировал с циклом от 0 до 999, который отправлял i в вывод приложения, чтобы я мог видеть, что произошло. Здесь я начинаю путаться. Иногда он начинает печатать 0, 1, 2, 3 и т. Д., Получает несколько (скажем, 10), затем делает снимок, затем, когда снимок уходит с экрана, он печатает остаток до 999. В других случаях ничего не печатается , стреляет, затем печатает от 0 до 999. В других случаях он печатает все, а затем стреляет. Я просто сбиваю с толку, наблюдая за выводом в Qt Creator одновременно с запуском моей программы?

1 Ответ

3 голосов
/ 29 апреля 2009

Это проблема с основами цикла сообщений, где все делается в одном основном потоке. Пожалуйста, смотрите мой ответ на подобный вопрос здесь .

...