Прочитал Бланшет, Саммерфилд по qt4
Саммерфелда — продвинутое программирование на Qt — дочитываю
Шлее по диагонали пробежал.
Но, однако, отчётливо понимаю, что не представляю себе, как работает Qt изнутри, про его очереди задач, про ограничения слотово-сигнального механизма и прочие тонкости.
Где-то прочитал такой вопрос, на знание Qt, "можно ли передавать через сигналы-слоты данные объёмом больше (??? не помню сколько — пусть будет 2 мегабайта) и почему?"
Я, в общем-то, плохо понимаю, где брать на него ответ
Так что нужно ещё прочитать, чтобы знать кьют на "пять"?
Здравствуйте, VTT, Вы писали:
VTT>Здравствуйте, Molchalnik, Вы писали:
M>>Так что нужно ещё прочитать, чтобы знать кьют на "пять"?
VTT>Для этого нужно еще пописать.
У меня нет возможности я сопровождаю большой проект на кьюте. писать ничего мне никто не даст. только надфилем допиливать.
И, потом: я могу ещё сто лет писать — и не узнать глубже, как работает кьют.
В общем, вопрос чисто о теории. Опыт и практика абсолютно необходимы, это никто не отрицает, но это вне рамок этой темы.
Здравствуйте, Molchalnik, Вы писали:
M>Что читать?
Исходите из своих повседневных задач. Смиритесь с тем, что теория без практики бесполезна. Если вы с этим не согласны — читайте паттерны проектирования и читайте исходники Qt. В Qt качественно реализовано много полезных паттернов.
По личному опыту — в исходники нужно лезть достаточно редко, только в случае очень хардкорных багов, типа таких.
M>про его очереди задач
Понятие очереди задач (он же цикл обработки сообщений) более-менее одинаковое для многих ОС / фреймворков. Читайте про QEvent + QEventLoop.
M>про ограничения слотово-сигнального механизма
Никаких ограничений нет.
M>можно ли передавать через сигналы-слоты данные объёмом больше
Можно. Особенно, если используете Qt-шные контейнеры. Они все умеют copy-on-write.
Кратко: в зависимости от типа соединения аргументы могут быть явно скопированы, даже если вы передаёте их по ссылке.
M>Так что нужно ещё прочитать, чтобы знать кьют на "пять"? http://www.qt.io/qt-certification/ — сдайте экзамены, получите сертификаты. Тогда будет "на пять". Очень сложно оценить ваш реальный уровень.
Здравствуйте, SaZ, Вы писали:
SaZ> Очень сложно оценить ваш реальный уровень.
Да пока только с кьютом проблемы. отличное знание с++ (впрочем, в пассиве — многое забыл), не блестящее, но нормальное знание шаблонов проектирования, вполне могу модуль под ядро линукс написать, хоть на с, хоть на си++ (что требует большего уровня знаний, хотя ядерщики меня за такое сожгут на костре). Писал под ядро винды. Пассивно (в смысле — давно не делал ничего в этой области) нормально знаю многопоточку. Правда, по-настоящему сложных приложений на многопоточку делать не пришлось.
Здравствуйте, Molchalnik, Вы писали:
M>Так что, совсем хороших умных книжек нет? только опыт и хелп?
По вашему предыдущему сообщению мне всё-таки кажется, что вы более склонны к процедурному программированию, а не к ООП. Поэтому да — опыт и хэлп.
Но надо понимать, что Qt очень круто документирована, по сравнению со многими другими фреймворками. И под документацией так же стоит понимать папку Examples, где очень много примеров использования Qt. Их тоже можно почитать для развития.