|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
mayton Я так глубоко не вижу проблему. А в чем проблема вызвать метод? :) У нас есть файл PushButton.cpp. Но мы не можем в нём подключить файл MyForm.h и просто вызвать метод MyForm::onMyButtonPressed(). А вызвать нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 11:54 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
Позднее связывание? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:00 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
mayton Позднее связывание? Что именно вы имеете в виду? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:13 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petrav mayton Позднее связывание? Что именно вы имеете в виду? Это когда в фазе компилляции твой код еще не знает какой из производых классов будет использован. Такая инфа появляется в рантайме. Обычное дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:27 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Что именно вы имеете в виду? Это когда в фазе компилляции твой код еще не знает какой из производых классов будет использован. Такая инфа появляется в рантайме. Обычное дело. Вы спрашивали в чём проблема. Я вам пояснил или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:30 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Это когда в фазе компилляции твой код еще не знает какой из производых классов будет использован. Такая инфа появляется в рантайме. Обычное дело. Вы спрашивали в чём проблема. Я вам пояснил или нет? Нет. Не пояснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:34 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petravПредставьте, что мы разработчики Qt. Нам нужно без кодогенерации вызвать из базовой библиотеки метод клиентского класса. При этом этот метод не виртуальный, и не статический, имеет заведомо неизвестное название. То есть "представьте, что мы криворукие разработчики, спроектировавшие кривую библиотеку" и теперь нам надо героически преодолеть последствия собственной криворукости. petravПредставим у нас есть два библиотечных класса BaseForm и PushButton. Как вы предлагаете из них вызывать метод MyForm::onMyButtonPressed() ? Учиться у классиков. Борланды проделали это дважды: в Turbo Vision через наследование и в VCL через указатели на метод класса. Да, в последнем случае им пришлось расширить С++ в котором тогда не было функторов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:36 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
(раскачиваясь в кресле) Мне почему-то вспоминаются некие UI-ные библиотечки. У них была концепция шины сообщений. И подписчиков. Для модели MVP. И вобщем когда модель меняется - она посылает сообщение в шину типа "изменилась карточка абонента" и все UI ные компоненты которые в состояни среагировать на это - обновляют свой вид. Это было удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:43 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
mayton petrav пропущено... Вы спрашивали в чём проблема. Я вам пояснил или нет? Нет. Не пояснил. Тогда предлагаю вам написать файл PushButton.cpp и вызвать оттуда MyForm::onMyButtonPressed(). Но это не виртуальный метод. И не статический. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:43 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petrav mayton пропущено... Нет. Не пояснил. Тогда предлагаю вам написать файл PushButton.cpp и вызвать оттуда MyForm::onMyButtonPressed(). Но это не виртуальный метод. И не статический. А почему нельзя виртуальный? Это обидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:45 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petravТогда предлагаю вам написать файл PushButton.cpp и вызвать оттуда MyForm::onMyButtonPressed(). Ну ёлы-палы, выйдите уже за пределы кутвари, откройте для себя VCL или хотя бы "ок гугль, указатель на метод класса в С++". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 12:51 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov petravТогда предлагаю вам написать файл PushButton.cpp и вызвать оттуда MyForm::onMyButtonPressed(). Ну ёлы-палы, выйдите уже за пределы кутвари, откройте для себя VCL или хотя бы "ок гугль, указатель на метод класса в С++". Меня поражает ваша манера с понтом писать бессмысленные сообщения. Я знаю про указатели на метод класса. И проблему этого топика могу решить тремя разными способами. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 13:13 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
Джентльмены! Давайте снизим градус слов. Не надо нам всяких *тварей. Мы ведь и так нормально общаемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 13:18 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petravЯ знаю про указатели на метод класса. И проблему этого топика могу решить тремя разными способами. То есть ты создал тему с проблемой для которой знаешь три решения. Чисто на поржать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 13:20 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
maytonМы ведь и так нормально общаемся. Нет, аффтар над нами просто прикалывается. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 13:21 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
Я не против программирования сигналов и слотов. Но мне интересен strong justification их использования. Тоесть должна быть некая совокупность условий которая дает этому неоспоримое преимущество перед другими методами. И не хочется быть комсомольцами которые часто пишут "зачем просто когда можно сложно". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 13:26 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petrav ...Я думаю, что как-то так ... Вы как-то меня не услышали совсем. Я просил привести пример Ваших проблем построения "GUI в ООП стиле" озвучьте пожалуйста. Ну типо Вы не можете сделать то и то то... а Вы, как в том анекдоте с китайцами и паролем от Вашингтона - сигналы да сигналы... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 14:43 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petrav mayton Я так глубоко не вижу проблему. А в чем проблема вызвать метод? :) У нас есть файл PushButton.cpp. Но мы не можем в нём подключить файл MyForm.h и просто вызвать метод MyForm::onMyButtonPressed(). А вызвать нужно. Это не про ООП. Вы ошиблись. По прежнему ждем код и пояснения проблемы. Тут половина не поняла. Вторая половина решила что вы прикалывыетесь. Я вангую что вы разрезали ГУИ на две части "по живому". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 15:26 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
А мне кажется что тема - еще одно мета-программирование на С++. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 15:29 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
mayton А мне кажется что тема - еще одно мета-программирование на С++. Полиморфизм в наследовании отсутствует. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 15:35 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
Сама по себе идея мета-программизма привлекательна. Под .net создавали экспериментальный язык Nemerle где можно создавать свои синтаксические конструкции. Но мне кажется что для "читающего код" это должно быть со стороны как "страшное колдунство". В вырожденном случае ты пишешь в исходнике make_me_feel() и на выходе вдруг появляется готовая программа где все работает но как она чьорт возьми появилась непонятно и главное непонятно как ее фиксить развивать и поддерживаеть. Кто там в топике писал про "хрупкое поделие которое работает только у автора...." ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 15:43 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
mayton А мне кажется что тема - еще одно мета-программирование на С++. Да, вы угадали. Я пишу надстройку над connect() из Qt 5 (строго типизированный вариант). И просто решил пообсуждать как бы был реализован сам connect() из Qt. Для пятой версии привёл три варианта решения. Для четвёртой очевидно там кодогенератор решает проблемы языка. И просто спросил нет ли других способов? И всё, у меня тут проблем нет. Шаблонам планово накручивается пятый этаж. PS: Для этой проблемы Борланд действительно расширял С++. А Майкрософт в MFC создал жутко дибильную фигню под названием message map. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 15:58 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
А ну ОК. Тогда у меня вопросов нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 16:01 |
|
connect(): слоты и сигналы
|
|||
---|---|---|---|
#18+
petrav, >Майкрософт в MFC создал жутко дибильную фигню = ну вы вспомнили 2010 год)) Через 3 года и ваш код назовут дебильным. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 16:15 |
|
|
start [/forum/topic.php?fid=57&msg=39998369&tid=2017330]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 415ms |
0 / 0 |