Создание пользовательских сигналов |
Здравствуйте, гость ( Вход | Регистрация )
Создание пользовательских сигналов |
AD |
10.7.2008, 12:55
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Насколько я понял из всего моего полугодового программирования на Qt, то сигнал - это функция, указывающая реакцию, на которую запускается функция-слот.
Так вопрос в том, можете доступно объяснить: чем надо руководствоваться, создавая свои собственные сигналы? Не очень понятно, какое количество параметров можно задавать, как вообще Qt понимает эту реакцию? Про слоты все в общем-то понятно! В книге про это не указано подробно! Сообщение отредактировал Litkevich Yuriy - 31.1.2009, 13:33 |
|
|
void* |
10.7.2008, 13:45
Сообщение
#2
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
ничего сложного:
чтобы написать свой сигнал, достаточно объявить функцию-сигнал в поле класса
либо так:
и когда нужно, эммитишь сигнал:
не забывай, что тебе не нужно реализовывать этот сигнал как функцию, достаточно только объвить, реализует его за тебя moc, который сделает нечто наподобие:
также помни, что тип функции-сигнала всегда должен быть void, то есть сигнал не должен что-либо возвращать если тебе нужно с параметрами (их может быть сколько угодно), то фактически также само, только добавить нужные типы:
соответственно эммитить его надо примерно так:
надеюсь теперь понятно? Сообщение отредактировал void* - 10.7.2008, 13:58 |
|
|
Текстовая версия | Сейчас: 27.12.2024, 15:28 |