Название: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: sofen.ru от Январь 10, 2013, 15:23 Чем сигналы-слоты библиотеки Qt отличаются от событий Дельфи/С++ Билдер? У них есть какое-то принциальное отличие или это абсолютно одно и тоже?
Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: Пантер от Январь 10, 2013, 15:24 На сколько я помню делфи, принцип тот же.
Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: lit-uriy от Январь 10, 2013, 17:11 Нет, не одно и тоже, в Qt тоже есть обработчики событий (как в Дельфи).
Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: lit-uriy от Январь 10, 2013, 17:14 Сигналы и слоты - дальнейшее развитие шаблона программирования Наблюдатель, Observer (http://ru.wikipedia.org/wiki/Наблюдатель_(шаблон_проектирования))
позволяет реализовать компонентное программирование. Т.е. два компонента могут ровным счётом ничего не знать друг о друге, а в неком главном компоненте вы соединяете сигналы и слоты первых двух, тем самым обеспечивая их взаимодействие. Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: sofen.ru от Январь 10, 2013, 19:04 Нет, не одно и тоже, в Qt тоже есть обработчики событий (как в Дельфи). Можно на примере в этом как-то убедиться?Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: kambala от Январь 10, 2013, 19:38 например для «отлова» события нажатия кнопки клавиатуры на активном виджете нужно переопределить protected метод void QWidget::keyPressedEvent(QKeyEvent *event)
Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: xokc от Январь 11, 2013, 09:17 Тут есть неоднозначность с терминологией. Если под "событиями Delphi" понимать методы, которые могут вызываться как callback в ответ на изменение некоторого property (типа OnFormCreate), то отличия в следующем:
1. В Дельфи такое "событие" не может быть связано более чем с одним обработчиком. В Qt - со сколькими угодно. 2. В Дельфи обработка событий потоконебезопасна, в Qt - безопасна (с оговорками). То есть по "смыслу" они имеют некоторое сходство, реализация же практически ничего общего не имеет. Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: Alex_C от Январь 11, 2013, 10:34 Если ты только переходишь с Дельфи/Билдера на Qt, то для простоты перехода считай, что это "примерно" одно и тоже. Но очень правильно написал xokc - сходство только по смыслу. Лучше все же на эту тему почитать книги по Qt.
Название: Re: Чем сигналы-слоты отличаются от событий Дельфи? Отправлено: lit-uriy от Январь 11, 2013, 23:04 Я давно, конечно, был в дельфи/билдере
Но, если забыть про QtDesigner/QtCreator, т.е. процесс рисования формы и использования автосоединения сигналов и слотов, которые были придуманы как раз для вчерашних дельфистов, то процесс кодирования всё же заметно отличается. Вместо того чтобы сочинять пример, лучше посмотреть штатный пример Qt (http://www.doc.crossplatform.ru/qt/4.4.3/tutorials-tutorial-t2.html) (в новой версии документации его нет). И в ещё этот (http://www.doc.crossplatform.ru/qt/4.4.3/tutorials-tutorial-t5.html). А вообще лучше просмотреть внимательно всё это (старое и очень толковое) учебное пособие. П.С. Под старым понимается, только то, что его убрали из документации, но оно будет полностью работать и компилироватся с Qt >= 4.3 |