Вопрос о сигналах и слотах Qt для начинающих

StackOverflow https://stackoverflow.com/questions/803850

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top