metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-08-02 12:17 am

Qt

В связи с тем, что таки осилил крестики и даже успешно применил для работы, решил повторно взглянуть на Qt.
Лучше бы я этого не делал. Открыл примеры в Qt SDK, собрал, запустил, посмотрел, подправил чуток. Теперь не могу избавиться от желания срочно начать писать очередной опердень-фреймворк, только теперь уже на Qt. А потом еще всякий собственный софт переписать на нем.
Веб все-таки меня огорчает, сколько не смотрю я всякие фреймворки - корявость в них, гриды неприятные, хаки на жабаскрипте сплошные и вообще.

[identity profile] levgem.livejournal.com 2012-08-02 10:17 am (UTC)(link)
есть эмитер видеофреймов. Я хочу его прибить из получателя. Прибили, в очереди остались фреймы. Соответственно мне надо писать код по сбрасыванию устаревших фреймов вместо того, что бы почистить эту очередь .Этот код конечно же сглючит в другом месте и пользователь увидит черный экран.

[identity profile] fas-tm.livejournal.com 2012-08-02 10:27 am (UTC)(link)
да понятно теперь.
Ну вот как костыль:
- отдельная очередь для фреймов, а сигналами только нотификацию о приходе нового.
- после дисконнекта -> выгребаем из очереди фреймы сами.

[identity profile] metaclass.livejournal.com 2012-08-02 10:30 am (UTC)(link)
Это по моему не костыль, а кошерный вариант.

[identity profile] zamotivator.livejournal.com 2012-08-02 10:30 am (UTC)(link)
Сигналы в таком случае идея плохая. Огранизуйте очередь, ту же самую http://doc.qt.nokia.com/4.7-snapshot/qqueue.html и будет нормальная очистка.

[identity profile] fas-tm.livejournal.com 2012-08-02 10:39 am (UTC)(link)
ага. я ж тоже самое и предложил.

[identity profile] levgem.livejournal.com 2012-08-02 10:46 am (UTC)(link)
Эт почему? Сигналы вроде чудесно описывают поток фреймов.

[identity profile] zamotivator.livejournal.com 2012-08-02 10:51 am (UTC)(link)
Сигналы тут совсем не такие, как в Ерланге. У вас нет возможности управлять очередью сигналов. As designed, как говорится. В ерланег вроде есть способы контроля mail-box, тут это не так.
Для GUI приложений, да того же самого MVC ничего большего и не нужно, а если нужно - реализуйте Connector, в котором будет сидеть QQueue. Ну, типа как QSignalMapper.