Консультация № 185481
22.02.2012, 23:16
62.88 руб.
0 33 3
Уважаемые эксперты, имеющие опыт работы с Qt! Пожалуйста, ответьте на вопрос:
Как начать работать с Qt? Что скачивать? Какую книжку посоветует для начала? Установлен CodeBlocks/G++. Это как-то поможет, или у Qt своя среда?
Спасибо.

Обсуждение

давно
Профессор
399103
482
22.02.2012, 23:45
общий
Да, траблы с точками в пути были под Windows. Вы же, как я понимаю, используете Linux.
давно
Академик
20764
1861
22.02.2012, 23:54
общий
это ответ
Здравствуйте, lamed!

У Qt замечательная документация. Жаль, что нет русского перевода. Так что если вы понимаете простой английский, то идите на сайт проекта (пока он опять не переехал ) Мне этой документации вполне хватает (а Qt я использую начиная с версии 1.4)

Я работаю под Linux/KDE (KDE сам использует Qt), поэтому использую его среду разработки Kdevelop. Утилиты на python с использованием PyQt и PyKDE (да - есть привязки Qt и KDE на Python) пишу в текстовом редакторе общего назначения. Впрочем, на сайте утверждается что у них есть и собственный SDK а также привязки к Visual Studio и Eclipce. Я ими не пользовался.

К недостаткам (особенно перед грядущим выходом версии 5) относится радикальное изменение API и вообще идеологии с каждым новым релизом настолько, что задачи оказывается проще переписать, чем портировать на новую версию.
5
Спасибо за большую и оперативную разъяснительную работу!<br>С уважением.
давно
Академик
320937
2216
22.02.2012, 23:55
общий
Добрый вечер! Вы работаете сами с Qt?
давно
Профессор
399103
482
23.02.2012, 00:06
общий
23.02.2012, 00:10
Адресаты:
Вечер добрый! Работал где-то год назад. Под Windows. В качестве среды разработки использовал QtCreator, компилятор - от Visual Studio, в качестве отладчика подцеплял CDB.
давно
Академик
320937
2216
23.02.2012, 00:07
общий
Уважаемые коллеги! Спасибо за помощь. Возможно, мой вопрос требует пояснения.
Я работаю преподавателем в техникуме. Пытаюсь выстроить 2 цепочки.
1. PascalABC.Net->C++->С++ в оболочке->C++ с сервером база данных.
2. PascalABC.Net->Lazarus ->Lazarus с Access.
Куплены Microsoft Windows и Microsoft Office. Все остальное - вроде разрешено, как минимум для учебных целей.
Для работы в консоли C++ избрали G++/Code::Blocks
Теперь нужны визуальные программы. Я предположил, что Qt. Попросил админа, он установил SDK в техникуме. Что дальше? Кто-то из вас связывал с Code/Blocks, или такой связи не существует? Или она нецелесообразна? Или вообще надо, исходя из ситуации, например, ставить Builder 5.5 или еще что-то?
Естественно, вопрос об англо-язычной документации не актуален.
давно
Профессор
399103
482
23.02.2012, 00:21
общий
23.02.2012, 00:22
Адресаты:
Насчёт Code::Blocks ничего не могу сказать - не касался. Могу лишь предположить, что в этом случае количество ручной работы увеличится. К примеру, использование QtCreator позволяло "замести по ковёр" вопросы, связанные с генерацией makefile с помощью утилиты qmake.

Документация Qt частично переведена на русский. Переведено не всё и не самая свежая информация, но и немало.
давно
Профессор
230118
3054
23.02.2012, 00:26
общий
Это не проблема, есть эта штука http://code.google.com/p/qtworkbench/
давно
Академик
320937
2216
23.02.2012, 00:27
общий
В вопросе сказано
Установлен CodeBlocks/G++. Это как-то поможет,

Вы говорите
Цитата: 392175
Насчёт Code::Blocks ничего не могу сказать - не касался.
Тогда зачем Вы поторопились ответить на вопрос? Выясняйте, раз взялись отвечать, или снимайте ответ. Доброй ночи!
давно
Профессор
399103
482
23.02.2012, 00:33
общий
Адресаты:
Мм, логично было предположить наличие подобного плагинаТогда совсем хорошо.
давно
Профессор
399103
482
23.02.2012, 00:35
общий
23.02.2012, 00:38
Адресаты:
Code::Blocks - среда разработки. Для использования Qt это не обязательно: при желании можно писать хоть в nano/notepad и из консоли вызывать нужные утилиты. Так что ответ на вопрос: "Это как-то поможет?" таков: "Это не поможет, но и особо не помешает".
давно
Академик
320937
2216
23.02.2012, 00:50
общий
Адресаты:

Уважаемые отвечающие! Какие дальнейшие действия?
давно
Профессор
399103
482
23.02.2012, 00:58
общий
Адресаты:
Если вы пользовались онлайн установщиком, попробуйте оффлайновый. Меня терзают смутные сомнения, что с онлайнового мне установиться не удалось по непонятным причинам. Если вновь будет нечто подобное, я бы попробовал, уменьшая сущности, поставить лишь библиотеки, а не SDK.
давно
Академик
320937
2216
23.02.2012, 01:07
общий
Цитата: 392175
Если вы пользовались онлайн установщиком, попробуйте оффлайновый.
Что-то Вы сегодня не угадываетеЯ пользовался off-line установщиком.
Цитата: 392175
поставить лишь библиотеки, а не SDK
То есть Вы считаете, что SDK установить с помощью экспертов РФПРО не выйдет?
Сейчас "откатил", снесу CodeBlocks и MinGW. Пробую на диск C
давно
Профессор
399103
482
23.02.2012, 01:14
общий
23.02.2012, 01:17
Адресаты:
То есть Вы считаете, что SDK установить с помощью экспертов РФПРО не выйдет?

Раз уж я сегодня не угадываю, не буду делать предположений :)

А так ли весь SDK нужен? Среду разработки вы всё равно не родную собираетесь использовать, всякие сборки под мобильники вам вряд ли нужны.
давно
Профессор
230118
3054
23.02.2012, 01:23
общий
После нажатия на Ignore процесс продолжается
давно
Академик
320937
2216
23.02.2012, 01:32
общий
Среду разработки вы всё равно не родную собираетесь использовать
Не знаю. Я высказал предположение. Это предположение основано на том, что "народ" привык к среде; оно может быть ошибочным. Затем и обратился.
давно
Академик
320937
2216
23.02.2012, 02:21
общий
При попытке установить: ставилось, ставилось,
Цитата: Асмик Гаряка
После нажатия на Ignore процесс продолжается
.. потом "Aborted" как-то вдруг. WinXP. SP2.
В-общем, вопросы по-прежнему актуальны.
давно
Академик
320937
2216
23.02.2012, 09:58
общий
23.02.2012, 10:00
Доброе утро, уважаемые эксперты! На утро ситуация выглядит так. Снес винду, отформатировал диск, установил винду и драйверы, установил SDK (с неизвестным глюком) Демо-проект запустил. Установил CodeBlocks (только среду, так как неясно с компилятором). Установил пути на компилятор (который с Qt), создал простой консольный исходник на CodeBlocks, работает.

Вопросы по-прежнему актуальны.
1. Книжка. Для того, чтобы выбрать, например, Липпмана для учебника для студентов, ушло много времени, а результат будет ясен не раньше, чем через полгода.
Почему Шлее? А не Бланшетт? А не... Есть личный опыт?
2. Что дает установленная среда CodeBlocks? Можно ли показать, как работать с Qt+CodeBlocks? Или это изначально нецелесообразно? CodeBlocks - для консоли, SDK - для остального?
давно
Академик
20764
1861
23.02.2012, 11:45
общий
Адресаты:
Вам - студентов "с ноля" учить? Им же пока всё равно, какую платформу использовать. Поставьте им Linux, желательно с KDE: там всё уже есть - свободно распространяемое и готовое к использованию.
давно
Академик
320937
2216
23.02.2012, 12:14
общий
Адресаты:
Доброе утро, Сергей! В техникуме есть один админ и полтора преподавателя программирования, машин и студентов много, на Linux в этом семестре уже не успеем перейти, хотя в планах есть. До этого занимались в Code::Blocks (ну и, PascalABC еще раньше). Время есть, чтобы определиться (месяц - полтора). Какие задачи хочется научиться решать?
1. Клиент-сервер базы данных (Однозначно FireBird, уже начали)
2. Графика (2D и 3D)
3. Графы etc.
4. Обработка текста
Может быть, и не Qt вовсе, а NetBeans, например, или Eclipse, ... или как уже говорил, Builder 5.5.
давно
Академик
20764
1861
23.02.2012, 13:12
общий
Адресаты:
Что-то вы в кучу смешали разнородные продукты.
Qt это библиотека (набор классов C++) для реализации event-driven программ, прежде всего графических. И ряд утилит разной степени удобства к ней. Есть пара утилит, необходимых для реализации некоторых их концепций, плохо сочетаемых с идеологией c++. Есть очень удобный и полезный designer для интерактивного создания графических окон, есть linguist и qmake - менее полезные (в основном из-за того, что в GNU для этих целей есть более удобные инструменты)
Eclipse - это среда разработки, не содержащая в себе каких-либо библиотек или инструментов разработки. А ещё она написана на Java и, хотя и рассчитана на разработку с применением различных языков, но на Java же больше всего и ориентирована. Тем не менее - среда удобная и широко используемая.
Их использование друг другу не только не противоречит, но наоборот будет весьма полезно.
Ваш список задач - это вообще отдельный уровень, и библиотека со средой - лишь инструменты для их реализации.
Не знаю, что тут подразумевается под обработкой текста и работай с графами, но для остальных задач Qt должен подходить.
давно
Академик
320937
2216
23.02.2012, 13:43
общий
23.02.2012, 13:46
Адресаты:
Сергей, давайте, если Вас не затруднит, еще раз, для бестолковых :).
Правильно ли я понимаю?
1. G++ (компилятор C++ и библиотеки).
2. CodeBlocks (IDE)
3. QT SDK (IDE + библиотеки)
Есть еще другие IDE. NetBeans, Eclipse...
Все указанные IDE (включая родной QTшный) могут быть использованы с библиотеками Qt
Так?
давно
Профессор
230118
3054
23.02.2012, 13:57
общий
А также Visual Studio Express (упрощенный, бесплатный).
Лучший способ изучить язык - практическая работа. Каждый студент в конце определенного периода должен написать программу по заданию. Еще лучше разбить на пары, в которых можно было обсуждать решение. Учебники тут не так важны, можно выучиться по любому, а самый лучший учебник не поможет, если нет интереса.
давно
Академик
20764
1861
23.02.2012, 14:04
общий
Адресаты:
Ну да - IDE к Qt прямого отношения не имеет. Собственный SDK там скорее "для полноты комплекта" От Qt достаточно самой библиотеки и набора утилит (moc, qmake, designer...)
Правда я не уверен в том, что всеми перечисленными IDE будет удобно пользоваться: в процессе сборки программ с Qt: некоторые файлы на С++ генерируются для последующей их компиляции (прежде всего - для поддержки весьма полезного механизма сигналов). IDE об этом желательно знать.
давно
Академик
320937
2216
23.02.2012, 14:15
общий
Адресаты:
Вот и подошли к сакраментальному вопросу: а какой IDE под Windows лично Вы бы посоветовали(!) пользоваться (только совет, без каких-либо обоснований). И его, если не затруднит, добавьте к Вашему замечательному ответу, и можно уже праздновать. Спасибо.
давно
Академик
20764
1861
23.02.2012, 14:29
общий
Адресаты:
Я же уже писал, что работаю исключительно под Linux. А единственный в нашей группе Windows-программист Qt не использует - он вообще использует какую-то экзотику российской разработки, правда, "благославлённую" в M$ (и постоянно ворчит ). Остальные четверо работают также под Linux. Работают около года, а до этого ни с Qt, ни с Linux они дело не имели. Вроде не ропщут. Правда, им всегда есть кого спросить
давно
Профессор
399103
482
23.02.2012, 18:05
общий
Адресаты:
Про книги - ещё пару слов о моём впечатлении:

Бланшет - а как бы нам научиться делать вот так? При этом объяснение устройства того, что при этом происходит - минимально необходимое для того, чтобы читатель сам мог воспроизводить подобное. Построена от простого к сложному: вот сейчас мы простенькие вещи умеем делать; а вот посложнее.

Шлее - несколько ближе к справочному типу. Больше внимания к устройству библиотеки. Выкладывать сразу и помногу, если это необходимо для объяснения устройства, автор не стесняется.

В связи с этим, плюс Бланшета - ниже порог входа и больше вероятность, что читатель научится хоть чему-то. Но когда более-менее разобрался, Шлее читать приятнее: изложение подробней и информация более локализована. Особенно отличаются начала книжек: первая - как делать простенькие вещи?; вторая - как устроено Qt в целом?
давно
Академик
320937
2216
23.02.2012, 19:20
общий
Спасибо, теперь уже совсем понятно.
давно
Старший Модератор
17042
808
28.02.2012, 19:23
общий
28.02.2012, 19:23
Адресаты:
Несмотря на то, что я начинал именно с Бланшет (ещё во времена Qt 3), как руководство для начинающих я бы эту книгу не посоветовал. Если не считать раздела "Диалоги", написано мутновато, не всегда понятно (не видя исходных текстов описываемой программы), о чём идёт речь. У Шлее один класс - один внятный небольшой пример. Всё чётко, разложено по полочкам. Свою книгу по Juce я по его образцу писал.
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Академик
320937
2216
28.02.2012, 19:34
общий
Адресаты:
Большое спасибо!
Форма ответа