сигналы слоты __ запутался |
Здравствуйте, гость ( Вход | Регистрация )
сигналы слоты __ запутался |
__ilya__ |
22.6.2012, 18:22
Сообщение
#1
|
Студент Группа: Участник Сообщений: 57 Регистрация: 19.1.2012 Пользователь №: 3143 Спасибо сказали: 0 раз(а) Репутация: 0 |
есть два класса TextEdit and PushBox объект последнего находится в первом.
в классе PushBox есть кнопка del, при ее нажатии в классе TextEdit должен вызыватся слот clear(). НО не фига не получается. Qt запутанная какаято не как не вкурю вот код подскажите как надо
я уже и так и эдак пробовал. я так думаю у класса PushBox должен быть свой сигнал (в смысле пользовательский), но как его сотварить??? |
|
|
Litkevich Yuriy |
7.9.2012, 11:30
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Оказывается слот можно вызывать так-же как и обычную функцию-член. Собственно и слот и сигнал - функции-члены класса, с точки зрения Си++ компилятора.Их уникальные названия (слот, сигнал) существуют по нескольким причинам: 1) Сигнал: ты только объявляешь его, а тело функции создаёт moc - мета-объектный компилятор, в отдельном файл. И такую функцию ты можешь соединить со слотом. 2) Слот: его можно вызывать по (текстовому) имени, например, с помощью метода QMetaObject::invokeMethod, т.к. он доступен в мета-объектной системе по имени, то его можно вызывать через сигнал (т.е. соединить с сигналом). написать функцию-член отдельно? -даже если функция и слот выполняют одно и то-же если они делают одно и то же, то это должна быть одна функция, если такую функцию удобно использовать как слот, то нужно её пометить как слот. А дальше используй, как удобнее в данный конкретный момент. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 12:39 |