Kdevelop linux как пользоваться

Обновлено: 04.07.2024

В этом разделе мы рассмотрим некоторые термины, как KDevelop смотрит на мир и каковы принципы работы с ним. В частности, вводится понятие сеансов и проектов и описание как можно создать проект с которым Вы будете работать в KDevelop.

Терминология

KDevelop придерживается концепции сеансов и проектов. Сеансы содержат все проекты, которые как-то связаны друг с другом. Например предположим, что Вы являетесь разработчиком как некоторой библиотеки, так и приложения, использующего её. К примеру, библиотеки KDE — это первое, а KDevelop — последнее. Другой пример: допустим что Вы хакер ядра Linux, но Вы так же работаете над драйвером устройства для Linux, который не может быть добавлен непосредственно в исходный код ядра.

И так, возьмём последний пример. Вам требуется создать сеанс в KDevelop, который содержит два проекта: ядро Linux и драйвер устройства. Вы желаете объединить их один сеанс (вместо того, чтобы иметь два сеанса с одним проектом на каждый) потому что будет удобнее видеть функции ядра и структуры данных в KDevelop всякий раз, когда Вы пишете код для драйвера. Это даст возможность автодополнения имён функций и переменных ядра, а так же Вы сможете прочитать документацию на функции ядра в процессе написания драйвера устройства.

Теперь представим, что Вы так же являетесь разработчиком KDE. Теперь Вы желаете иметь второй сеанс, который содержит KDE как проект. В принципе можно иметь один сеанс для всех проектов, но нет никаких основательных причин для этого: в Вашей разработке KDE Вам незачем иметь доступ к функциям ядра и драйвера и у Вас не возникает желания иметь автодополнение имён классов KDE когда Вы работаете над ядром Linux. В конечном итоге сборка множества библиотек KDE независима от пересборки ядра Linux (при этом было бы неплохо иметь возможность пересобрать ядро Linux в то время, когда происходит сборка драйвера, если в ядре изменились некоторые заголовочные файлы).

В ином случае можно использовать разные сеансы для различных версий одного проекта. В этом случае Вам будет нежелательно иметь коллизии в различных реализациях одинаковых классов пересекающиеся между ветками одного проекта. Вы просто можете иметь два сеанса с похожим набором проектов, но отличающихся расположением в файловой системе в случае различных веток разработки.

Создание сеанса и импорт существующих проектов

Давайте придерживаться примера Linux-ядра и драйвера устройства. Безусловно, Вы можете использовать в этом примере собственный набор библиотек и проектов. Чтобы создать новый сеанс, который содержит два проекта, перейдите в верхнее левое меню Сеанс -> Запустить новый сеанс (если Вы запустили Kdevelop впервые, то можно использовать сеанс по умолчанию, т.к. он всё равно ещё пустой). Далее мы желаем добавить к сеансу два проекта. На данный момент мы считаем, что эти проекты уже где-то созданы (случай с созданием проектов с нуля описывается в следующих разделах настоящего руководства). Для этого существует два способа, в зависимости от того, где находится проект: существует ли он на локальном диске, либо же должен быть загружен с сервера.

Способ 1: Импорт проекта с сервера системы управления версиями

Давайте для начала предположим, что проект, который мы желаем создать — ядро Linux — находится в некоторой системе управления версиями и его локальная копия ещё не развёрнута на Вашем локальном диске. В таком случае перейдите к меню Проект для создания в существующей сессии проекта «ядро Linux» и выполните следующие действия:

Из компиляторов буду использовать gcc/g++. Но конечно хотелось бы узнать как настраивать под другие компиляторы.
Прошу отвечать как можно более развернутые ответы и не отвечать типа:"переходи на qt или eclipse", так как я решил изучить kdevelop. Благодарю за внимание.

Изображение пользователя SmartByte.

Есть мнение, что по Qt Creator документации в 100500 раз больше. Я конечно вижу, что вы там написали внизу, но изучать Kdevelop в нынешнее время, равносильно изучению какого-нибудь Delphi - можно, но никому не нужно.
Просто на сайте не так много программистов, и они не часто тут появляются. Так что быстрее и продуктивнее будет искать инфу в гугле и на специализированныйх форумах.

Советую на Qt Creator , там и документации мого и примеры программ есть сразу.
установка cmake
sudo apt-get install cmake
Компиляция происходит примерно так :
1)qmake project.pro
2)make
3)./poject
Горячие клавиши в Qt Creator обозначены в выпадающем списке меню
Короче в помощь :

То есть qt вообще не нужен?
Ну по KDevelop есть вот это, на русском не видел.

основа должна быть kDevelop

kdevelop это просто другой IDE и всё , а синтаксис и библиотеки те же на сколько я знаю

Qt-Creator и KDevelop - это просто IDE. Первый заточен под Qt. Но использовать можно любые библиотеки/языки(Хотя в QtCreator вроде подсветка только С/С++ языков).

А вообще в KDevelop больше функционал по сравнению с Qt-Creator. Но я сам пишу на qt и юзаю Creator, мне его пока хватает.

Изображение пользователя RA9OAJ.

Ну, на самом деле, вопрос в том, какие приложения вы собираетесь писать. Если кросс-платформенные, то однозначно Qt + QtCreator. Если "чистый" C++ под *nix (со всеми вытекающими стандартами GNU/POSIX), то можно хоть в kate писать, там даже плагины есть специальные для прикрутки окружения компиляции. Но я тоже пользуюсь kDevelop, когда речь заходит о GNU/POSIX (можно и QtCreator настроить, но это сложновато, как мне кажется). А вот что я могу вам сказать в ответ на Ваши вопросы:
1)Найти можно в репозитории
sudo aptitude install cmake
про cmake в сети много статей и документации есть, и настраивать cmake скорее всего придется ручками под каждый проект.
2)А что с подключением заголовочных файлов? Вообще-то все пути давно прописаны в системных переменных и их поиском и линкованием вообще линковщик занимается исходя из настроек общесистемных переменных. Поиском и подгрузкой динамический библиотек занимается ld. А чтобы указать какие библиотеки линковать статически/динамически, так тут надо в проекте kdevelop настройку компиляции данного проекта делать, используя параметры ктмпилятора. Соответственно обращаемся к документации gcc/g++, или того, которым будете пользоваться.
3)ХЗ, сам никогда не пользовался возможностью их настройки, хотя писал туеву хучу проектов под *nix.
4)Доки по kdevelop + листаем меню и смотрим всплывающие подсказки по кнопкам на панелях.
5)Единственный плагин я ставил для настройки kdevelop под php, но он стандартный, так что тоже ХЗ.
6)Ну так это ж дерективы препроцессора, поидее стандарт везде. Но опять-таки копаем доки по gcc/g++, для того чтобы понять, как стоить использовать.
7)Блин, самое важно - это не "В ЧЁМ ЭТО" (IDE имею ввиду), а понимание "КАК ЭТО". По идее, зная как это, можно и тестовым редактором обойтись :)
Так что все в Ваших руках.

Создание приложения

Базовую структуру приложения (т.е. главное окно) можно легко и быстро создать при помощи KDevelop. Запустите KDevelop и в меню Project (Проект) выберите New Project (Создать проект). Появится мастер создания приложения. Выберите C++ => KDE => Simple KDE Application. Введите имя проекта (SigCreate), ваше имя и e-mail (рис. 1).


Нажмите Next (Далее), обратите внимание на опцию CVS и на шаблоны заголовков (они вставляются в начало каждого файла с исходным кодом). В последнем окне нажмите Finish (Готово). KDevelop создаст все файлы, необходимые для компиляции проекта. Вы можете использовать закладку File Selector (слева) для выбора файлов. Откройте 3 файла: main.cpp , sigcreate.cpp и sigcreate.h (рис. 2).


Теперь вы можете выполнить команду Build (Сборка) -> Build Project (или просто нажмите F8 ). Затем выполните команды Build (Сборка) -> Install (Установить) и Build (Сборка) -> Execute program (Запустить программу) (или F9 ). Результат показан на рис. 3.


Рис. 3: Простое приложение для KDE

Теперь, когда мы создали основу, можно начать разработку приложения.

Если KDevelop не распознает автоматически переменные окружения QTDIR и KDEDIR, определите их значения вручную в диалоге Project (Проект) => Project Options. => Configure Options.


Рис. 6: Параметры проекта

Работа с Qt Designer

Qt Designer — это программа для разработки пользовательского интерфейса программы. Она помогает вам расположить на форме элементы управления и создать макет формы, чтобы при изменении ее размеров виджеты располагались должным образом. Рекомендую вам прочитать Руководство по Qt Designer, чтобы узнать все о Qt Designer.

Qt Designer включает в себя редактор кода, но для этой цели мы все-таки будем использовать KDevelop.

Итак, сейчас мы создадим интерфейс приложения, используя Qt Designer. В Qt Designer формы сохраняются с расширением .ui, потому что затем эти файлы будут обработаны программой uic для создания файлов .cpp и .h. KDevelop сделает это за вас, поэтому все, что нам нужно — просто создать форму.

Замечание

Всякий раз, когда вы добавляете или удаляете файлы из проекта (мы добавим файл пользовательского интерфейса с расширением .ui), требуется изменить файл Makefile.am. KDevelop сделает это, но вам нужно будет выполнить команду Build (Сборка) => Run automake & friends.

Выберите в окне KDevelop пункт меню File => New (Файл => Создать) и введите необходимую информацию в появившемся окне диалога. Сначала введите в качестве имени файла sigcreatedlg и выберите тип файла в выпадающем списке. Сейчас нам потребуется создать файл типа Widget (.ui). Обязательно проверьте, отмечен ли флажок "Add to project" (Добавить в проект), иначе файл Makefile.am не будет обновлен.



Если только что созданный sigcreatedlg.ui не был автоматически открыт в Qt Designer, откройте Automake Manager (закладка в правой части главного окна), щелкните на файле правой кнопкой мыши и выберите Open With (Открыть с помощью), и в появившемся меню выберите пункт Qt Designer.

Замечание об именах файлов

К имени файла .ui принято добавлять "dlg", чтобы облегчить чтение кода другим людям. sigcreatedlg обозначает, что этот файл — это класс интерфейса. Обычно имена классов KDE начинаются с заглавной буквы K, и затем следует имя, наиболее полно описывающее вашу программу. Если бы это было настоящее приложение для KDE, мне нужно было бы назвать этот класс KSigCreate.


Окно программы Qt Designer поделено на три части. С левой стороны находится список элементов управления. Справа могут находиться несколько диалогов; я же оставляю только диалог свойств Property Editor (закрыв два остальных). Здесь вы можете настроить внешний вид и поведение виджетов. Можно выбрать размер, цвет виджета и т.д. Посередине находится форма — окно вашего приложения. Здесь вы и разрабатываете интерфейс программы.

Предлагаю вашему вниманию обзорную статью посвящённую созданию небольшого приложения на KDevelop. Демонстрационное приложение может читать заголовки WAV файлов и отображать их в человеческом виде :) Например, звук стерео, сжат таким-то кодеком. Исходный код прилагается. Ruslan aka RaD

мне как злобному и ленивому ламеру статься понравилась

можно только мышкой возить, здорово!

еще бы продолжение с более продвинутыми примерами и я был бы счастлив

уважаю и поддерживаю

побольше бы таких tutorials для разных полезных (и не очень) программ

А продолжение будет ?
Вобще <imho>Qt хреново документирована.</imho>
an-ha


Еще!
J.
P.S. И поподробнее про cvs.

а если серьезно, то и вправду хочется еще!! вперед

ИМХО получше чем в GTK Автор статьи :)

класс. только у меня просьба - добавьте, пожалуйста, пункт "скачать в формате tgz, tar.bz2 и т.д.". понятно что сейчас статья умещается на дин HTML и можно скачать самому, но потом.

Зажму и выложу. Сейчас пока вожусь с интернационализацией. Руслан

Вобще <imho>Qt хреново документирована.</imho>

Зря ты так. Документация по QT очень хорошая и достаточно полная, чего не скажешь о GTK. Естественно все на аглицком.

Несколько конструктивных замечаний: Неплохо было бы указать какие версии KDE/Kdeveloper/QT/GCC/etc. использовались для данного проекта. IMHO, не помешало бы описать подробнее создание Menu/Actions, хоть это и есть в хелпе QTDesigner, но коль скоро статья для начинающих. А вообще-статья полезная.

>только у меня просьба - добавьте, пожалуйста, пункт "скачать в формате tgz, tar.bz2 и т.д."

Нефиг. Долой гуманизм.

Выложить заархивированные сжатые версии статьи - да. Но пользоваться архиватором cpio (он все равно присутствует в любом дистрибутиве Linux'а). Алгоритмы сжатия: gunzip, bzip2, можно вспомнить прошлое и сжать compress'ом. :)

А попытки винтукейников прочитать этот архив можно приводить в качестве примеров того, что винда умеет далеко не все, что нужно простому пользователю.

Статья очень полезная, нужная и простая (особенно новичкам), большое спасибо автору.

Читайте также: