Посоветуйте книги/видеокурсы по Qt 5 для новичка, чтобы максимально быстро разобрать в нем и начать кодить.
Из того, что нашел, книги:
Программирование на языке С++ в среде Qt Creator — Е.Р.Алексеев, Г.Г.Злобин, Д.А.Костюк, О.В.Чеснокова, А.С.Чмыхало
Qt 5.3. Профессиональное программирование на C++ (В подлиннике) — 2015 — Шлее М.
На YouTube полно мелких роликов на разные темы, но полноценных видеокурсов не нашел.
Здравствуйте, Submitter, Вы писали:
S>Посоветуйте книги/видеокурсы по Qt 5 для новичка, чтобы максимально быстро разобрать в нем и начать кодить.
Qt5 от Qt4 принципиально не отличается.
Поэтому учи "просто Qt", а мелкие подробности (расположение параметров функций) прочтёшь в докуметации своей версии.
Здравствуйте, Submitter, Вы писали:
S>Посоветуйте книги/видеокурсы по Qt 5 для новичка, чтобы максимально быстро разобрать в нем и начать кодить.
S>Из того, что нашел, книги:
S>Программирование на языке С++ в среде Qt Creator — Е.Р.Алексеев, Г.Г.Злобин, Д.А.Костюк, О.В.Чеснокова, А.С.Чмыхало S>Qt 5.3. Профессиональное программирование на C++ (В подлиннике) — 2015 — Шлее М.
S>На YouTube полно мелких роликов на разные темы, но полноценных видеокурсов не нашел.
S>Может есть что-то еще? Именно на русском.
Марк Саммерфилд "Qt. Профессиональное программирование Разработка кроссплатформенных приложений на С++";
Жасмин Бланшет, Марк Саммерфилд "Qt4 программирование GUI на C++";
Андрей Боровский "Qt4.7 Практическое программирование на C++".
P.S. Но самая удачная книга — именно Макса Шлее. У него всё очень толково и последовательно изложено.
Ну и on-line документация: http://doc.qt.io (очень хорошее подспорье для изучения Qt).
Здравствуйте, Submitter, Вы писали:
S>Может есть что-то еще? Именно на русском.
Шлее самая толковая и единственная. Но поскольку это Open Source, всё таки онлайн доки и сообщества больше пользы принесут. С книги только начни основы.
P.S. По первости Qt мозг ломает основательно, особенно если ты перелез с MFC! Но потом — только кайф получаешь, как всё толково и грамотно сделано.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Здравствуйте, Мёртвый Даун, Вы писали:
МД>Шлее самая толковая и единственная. Но поскольку это Open Source, всё таки онлайн доки и сообщества больше пользы принесут. С книги только начни основы.
+100500
Да, всё так, кроме книги М.Шлее и официальной on-line документации — очень часто найти адекватный ответ помогает гугление проблемы.
МД>P.S. По первости Qt мозг ломает основательно, особенно если ты перелез с MFC! Но потом — только кайф получаешь, как всё толково и грамотно сделано.
До начала освоения Qt, я занимался на MFC достаточно долго (правда, еще у меня был опыт Borland C++ Builder и .NET WinForms).
В процессе изучения Qt я совсем не видел того, что 'ломает мозг'
Тем более, что базовый C++ является общим знаменателем, объединяющим Qt и MFC.
Просто MFC куда более низкоуровневый. Кроме того, нередко идеи, принятые авторами MFC, идут в разрез с постулатами ООП.
Когда проектировалась библиотека MFC (а это начало 1990-х) — вполне возможно, что такой стиль был de-facto нормой.
В то время, как в Qt используются более высокоуровневые абстракции (Qt является мощной объектно-оринтированной библиотекой),
MFC является тонкой C++ надстройкой над Windows API.
Здравствуйте, AlexGin, Вы писали:
AG>Да, всё так, кроме книги М.Шлее и официальной on-line документации — очень часто найти адекватный ответ помогает гугление проблемы.
Тоже голосую за Шлее. Для начала нормально, а далее офиц. документашка. Шлее хорош тем, что можно изначально понять, как оно все работает. Я даже всего его читать не стал, а как только раздуплился, так сразу доков стало достаточно.
С Qt вообще основная, на мой взгляд, проблема в том, чтобы узнать, что еще в нем такого эдакого полезного есть и как это найти.
Сори, я из тех времен когда юзали MFC 4.2 в MS VS 5.0, а другого ничего не было, вот именно начало 90-ых. Билдер надо было еще достать где то, а до винформс оставалось еще долгих 6 лет.
МД>>P.S. По первости Qt мозг ломает основательно, особенно если ты перелез с MFC! Но потом — только кайф получаешь, как всё толково и грамотно сделано. AG> AG>До начала освоения Qt, я занимался на MFC достаточно долго (правда, еще у меня был опыт Borland C++ Builder и .NET WinForms). AG>В процессе изучения Qt я совсем не видел того, что 'ломает мозг'
Ломало всё, сигнал-слоты, pimpl, отсутствие DDX, и т.д.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Здравствуйте, Sheridan, Вы писали:
S>Имхо все эти книги про фреймворки — лишняя трата времени. Просто бери и пиши. Чтото непонятно — лезь в документацию. Всё.
Тут ты, уважаемый Sheridan, немного не прав:
1) Техническая документация это справочник, в начале изучения такого огромного продукта, как Qt — нужен прежде всего учебник. Именно в учебнике будут расписаны типовые решения типовых задач и примеров, не зная которые — будешь писать "в корзину" (ну или — ломиться в открытую дверь).
2) Для эффективного изучения — нужен хороший учебник, в котором всё изучение начинается именно от основ, а не с "произвольного места" (в алфавитном порядке), как это имеет место в справочнике.
3) После освоения основ по учебнику, приобретает смысл и документация, и интернет-форумы, и просто изучение чьих-то проектов (например в гит-хабе).
P.S. Всё вышесказанное относится не только к Qt, но и к любой крупной библиотеке или к языку программирования.
Здравствуйте, AlexGin, Вы писали:
AG>P.S. Всё вышесказанное относится не только к Qt, но и к любой крупной библиотеке или к языку программирования.
Согласен, учебник нужен если всё совсем плохо.
Но мой опыт совсем другой. Мне учебник только мешает. Если я сажусь за учебники — я гарантированно затягиваю трачу это время впустую. Ну разве что пару мыслей из всей книги вытаскиваю полезных на первых порах. Перл, питон, жабаскрипт, реакт, постгрес, шарпы и всякое-всякое прочее я вкуривал без учебников, а тупо читая инфу из инторнетов по мере появления проблем.
Для кутэ я покупал две книги чтоли. Ничего полезного оттуда не вытащил.
Единственная книга, которую я иногда пользовал как справочник лет шесть назад — это библия Страуструпа.
Здравствуйте, AlexGin, Вы писали:
AG>Тут ты, уважаемый Sheridan, немного не прав: AG>1) Техническая документация это справочник, в начале изучения такого огромного продукта, как Qt — нужен прежде всего учебник. Именно в учебнике будут расписаны типовые решения типовых задач и примеров, не зная которые — будешь писать "в корзину" (ну или — ломиться в открытую дверь).
Ну ну... В таком случае вообще любой учебник это своего рода справочник.
AG>2) Для эффективного изучения — нужен хороший учебник, в котором всё изучение начинается именно от основ, а не с "произвольного места" (в алфавитном порядке), как это имеет место в справочнике.
Да, документация по Qt — как раз такой "учебник", плюс хэлпы, плюс всё подано очень хорошо и унифицировано.
AG>3) После освоения основ по учебнику, приобретает смысл и документация, и интернет-форумы, и просто изучение чьих-то проектов (например в гит-хабе).
После первой самостоятельно написанной программы, на основе hello world из стандартного дистрибутива Qt, учебник становится не нужен.
AG>P.S. Всё вышесказанное относится не только к Qt, но и к любой крупной библиотеке или к языку программирования.
Qt будет исключением, потому что настолько качественной документацией с понятными примерами не обладает практически ни один фреймворк.
AG> Кроме того, нередко идеи, принятые авторами MFC, идут в разрез с постулатами ООП.
Не затруднит привести пример ?
А то как-то не верится, что в объектно-ориентированной операционке (Windows) на объектно-
ориентированном языке (С++) можно написать фреймворк, который идёт в разрез с постулатами ООП...
AG>В то время, как в Qt используются более высокоуровневые абстракции (Qt является мощной объектно-оринтированной библиотекой), AG>MFC является тонкой C++ надстройкой над Windows API.
В QT используются более тяжеловесные подходы, в основном, в стиле "управление кодом с помощью данных".
В MFC -- более легковесные в стиле "поведение определяет код".
Разница ортогональна ООП.
Здравствуйте, Мёртвый Даун, Вы писали:
МД>... МД>Ломало всё, сигнал-слоты, pimpl, отсутствие DDX, и т.д.
Сигнал-слоты это, можно сказать, реализация паттерна observer.
pimpl по сути инкапсуляция. Одна из причин, по которой его внедряли — совместимость бинарников разных версий.
DDX — майкрософты всегда любили изощряться с биндингом данных. В Qt просто не нужны никакие DDX — есть сигналы / слоты, есть эвенты, есть разделение модели от представлений. Этого достаточно для понятного и читаемого кода.
Здравствуйте, XOOIOOX, Вы писали:
XOO>С Qt вообще основная, на мой взгляд, проблема в том, чтобы узнать, что еще в нем такого эдакого полезного есть и как это найти.
А в чем проблема такого подхода google: "Qt + how <что надо сделать>"?
Еще просмотр списка модулей помогает в начале пути
Здравствуйте, MasterZiv, Вы писали:
AG>> Кроме того, нередко идеи, принятые авторами MFC, идут в разрез с постулатами ООП. MZ>Не затруднит привести пример ?
Не затруднит, просто здесь это offtop — в ближайшее время выложу в тему по MFC.
MZ>А то как-то не верится, что в объектно-ориентированной операционке (Windows) на объектно- MZ>ориентированном языке (С++) можно написать фреймворк, который идёт в разрез с постулатами ООП...
Ну ООП — не догма, на том же C++ можно (но не нужно!!!) писать в стиле ANSI C
AG>>В то время, как в Qt используются более высокоуровневые абстракции (Qt является мощной объектно-оринтированной библиотекой), AG>>MFC является тонкой C++ надстройкой над Windows API.
MZ>В QT используются более тяжеловесные подходы, в основном, в стиле "управление кодом с помощью данных". MZ>В MFC -- более легковесные в стиле "поведение определяет код". MZ>Разница ортогональна ООП.
Да, здесь согласен, что идеология библиотек разная, однако здесь я не об этом.
Ведь всё то же самое для MFC могли бы сделать (и сделали бы) более красиво, в плане архитектуры.
Но — не сделали...
P.S. В ближайшее время — опишу мои доводы в соотв. теме!
Здравствуйте, vl690001x, Вы писали:
V>И посоветуйте IDE также. V>Та что есть, бесплатная Qt Creator, настолько убога по сравнинию с Visual Studio, что отбивает все желание кодить.
1) Qt Creator — не выглядит убого, просто иногда им пользоваться немного непривычно (применяю Qt Creator v4.2.1 — довольно удобная тулза);
2) MS Visual Studio — также может применяться совместно с Qt — для этого устанавливаем соответствующий пакет:
отсюда https://www.qt.io/download-open-source/#section-2
так, например, я обычно беру Qt 5.8 Windows 32-bit (Visual studio 2015). Там же — находим и качаем Visual Studio Addin for Qt MSVC2015 (в виде файла *.vsix). Следует отметить что, Visual Studio Addin — это связующее звено между Qt и MSVC. Его следует ставить в самом конце — когда Qt и студия уже установлены.
Здравствуйте, Sheridan, Вы писали:
AG>>P.S. Всё вышесказанное относится не только к Qt, но и к любой крупной библиотеке или к языку программирования.
S>Согласен, учебник нужен если всё совсем плохо.
Как обучаемому определить: "совсем" или же "не совсем"?
Так, например, работа с библиотекой С++ в стиле "C с классами" — это, ИМХО, совсем плохо.
Однако, даже этот подход даёт возможность создавать работающие (правда — простые) приложения...
S>Но мой опыт совсем другой. Мне учебник только мешает. Если я сажусь за учебники — я гарантированно затягиваю трачу это время впустую.
Это ощущение мне также очень знакомо!
Когда открываем книжку — кажется, что всё это уже было, уже давно изучено...
Тогда — хотя бы смотрим "по диагонали".
Пример: изучение новых (для меня) концепций по C++11 и C++14 я организовал как беглое чтение и опробование приведенных решений
по вот этой книжке — https://oz.by/books/more10470633.html (книга довольно толковая, когда владеешь языком C++).
Но тем не менее, "беглое" это не означает, что на изучении данных аспектов можно сэкономить время!
S>Ну разве что пару мыслей из всей книги вытаскиваю полезных на первых порах. Перл, питон, жабаскрипт, реакт, постгрес, шарпы и всякое-всякое прочее я вкуривал без учебников, а тупо читая инфу из инторнетов по мере появления проблем.
Есть хорошая русская поговорка: "За двумя зайцами..."! Уважаемый товарищ Sheridan, мне кажается у тебя некоторые проблемы с определением специализации.
Перечисленно много чего, однако следует определиться:
— По какой теме можешь не только пройти собеседование, но и эффективно работать в будущем?
— Какая тема особенно интересна?
— Где чувствуешь уверенность и видишь перспективы?
Для тебя важно найти такое, что попадает хотя бы под последние два критерия.
Затем, изучая и совершениствуясь, выйти по этой тематике также и на первый критерий.
P.S. Видел твой свежий топик в теме "О Работе", но так как я не владею ситуацией по рынку труда в РФ — я там ничего не писал.
Здесь важное для тебя — просто выделил курсивом выше.
Здравствуйте, SaZ, Вы писали:
AG>>1) Техническая документация это справочник, в начале изучения такого огромного продукта, как Qt — нужен прежде всего учебник. Именно в учебнике будут расписаны типовые решения типовых задач и примеров, не зная которые — будешь писать "в корзину" (ну или — ломиться в открытую дверь).
SaZ>Ну ну... В таком случае вообще любой учебник это своего рода справочник.
Учебник — последовательно описывает основы.
В контексте Qt это те же сигналы/слоты, QObject и MOC, виджеты, лайоуты, фильтры сообщений, коллекции и т.д.
Справочник — описывает всё, что есть в библиотеке.
Соглашусь, что on-line справочник по Qt — очень хороший (всё разъяснено, показано на примерах, снабжено содержательными комментариями). Тем не менее, учебник (книга М. Шлее), видется мне совсем не лишним, особенно когда начинаем изучать с азов.
Конечно же, я не настаиваю в изучении учебника "от корки — до корки", но основные главы важно всё же проработать.
AG>>2) Для эффективного изучения — нужен хороший учебник, в котором всё изучение начинается именно от основ, а не с "произвольного места" (в алфавитном порядке), как это имеет место в справочнике.
SaZ>Да, документация по Qt — как раз такой "учебник", плюс хэлпы, плюс всё подано очень хорошо и унифицировано.
Любая документация такого рода — это прежде всего реклама продукта. Даже если формат рекламы не навязчивый, а мягко завуалированный.
Подозреваю, что не вся продукция от Qt Company продвигается бесплатно. Именно для привлечения состоятельных заказчиков и создано всё это!
Цель подобной документации — прежде всего подать товар лицом.
Впрочем, никто ведь и не спорит, что товар хороший
Просто это документация не создана чтобы заменить толковый учебник.
Она предназначена выступать как важное дополнение к учебнику