Не могу понять как работает сигнал! |
Здравствуйте, гость ( Вход | Регистрация )
Не могу понять как работает сигнал! |
Roston |
16.2.2011, 19:09
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 11.2.2010 Пользователь №: 1463 Спасибо сказали: 2 раз(а) Репутация: 0 |
Здравствуйте. В этом уроке http://www.doc.crossplatform.ru/qt/4.4.3/t...torial-t10.html мы объявляем в классе CannonField сигналы forceChanged и angleChanged.
Но реализации сигналов дальше нету. Подскажите пожалуйста как тогда в этом коде
мы знаем какое значение передается в setForce. Не могу до конца понять! Наперед спасибо! |
|
|
kwisp |
16.2.2011, 19:15
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
в коде, который ты привел - устанавливается соединение.
а реально вызывается сигнал в строчке :
|
|
|
Roston |
16.2.2011, 20:17
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 11.2.2010 Пользователь №: 1463 Спасибо сказали: 2 раз(а) Репутация: 0 |
Тоесть если взять emit angleChanged(currentAngle); то дальше в слот будет передаваться параметр currentAngle?
|
|
|
kwisp |
16.2.2011, 20:21
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Obey-Kun |
25.2.2011, 3:57
Сообщение
#5
|
Студент Группа: Участник Сообщений: 96 Регистрация: 24.3.2010 Пользователь №: 1556 Спасибо сказали: 3 раз(а) Репутация: 0 |
Почитай Шлее. Он есть на http://obey.su/books. Но лучше купи в магазине.
Он там про сигналы отлично написал. Сообщение отредактировал Obey-Kun - 25.2.2011, 3:57 |
|
|
Litkevich Yuriy |
25.2.2011, 6:38
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Но реализации сигналов дальше нету. реализацией сигналов занимается "метаобъектный компилятор", он генерирует файл С++, который имеет расширение *.mocВ приведённом примере есть файл - cannonfield.h. Если этот файл указан в pro-файле в списке HEADERS, то для него будет вызван метаобъектный компилятор (moc). Который сгенерирует из него исходник moc_cannonfield.cpp, в этом исходнике будет реализация сигналов и ещё некоторых метаобъектных штучек. Ну и файл moc_cannonfield.cpp, разумеется будет добавлен в процесс компиляции. |
|
|
Текстовая версия | Сейчас: 30.12.2024, 20:20 |