Qt как создать и добавить pri файл

Обновлено: 07.07.2024

Я хотел бы разделить свой проект Qt на несколько каталогов, потому что он становится довольно большим. Однако, когда я нажимаю «Обзор» в QtCreator, нет «Добавить каталог» и ничего подобного в «Добавить новый». Можно как-то это сделать?

Что не так с созданием подкаталога с вашим файловым менеджером? Я могу создавать каталоги вручную, но тогда я их не вижу в браузере проекта. @Ariya Вы должны хотя бы проголосовать за это, поскольку это функция доступна в большинстве IDE, и люди будут спрашивать об этом. При всем уважении, но Qt-Creator отстой в удобстве использования (в отношении пользовательского интерфейса). Как разработчик, если вы видите, что кто-то должен спросить, как добавить подкаталог в проект на общедоступном форуме, то вы знаете, что с этим есть серьезная проблема. IDE. @GabrielF довольно легко . это фиксированная. Почему мы не можем просто выбрать «создать каталог» (или «добавить каталог» в духе Creator), как в большинстве IDE. Это базовая функциональность, которая есть даже у большинства дрянных редакторов - вы можете создать каталог в блокноте! Не должно быть «метода» для выполнения такой простой, базовой задачи - он должен быть очевиден.

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

Qt Creator отображает их в графическом интерфейсе во вложенном виде и позволяет вам добавлять к ним файлы.

в папке1 / include.pri

Могу ли я сделать это вложение из среды IDE или мне придется вручную устанавливать эти файлы и каталоги? Я быстро просмотрел и думаю, что вам нужно добавить включаемые файлы вручную, но при добавлении новых файлов в проект Qt Creator позволит вам добавить их во включаемый файл, а не в основной файл проекта. Хорошо, надеюсь, они добавят эту функцию в новую версию.

До QT Creator 3.1.x вы можете щелкнуть правой кнопкой мыши свой проект -> « добавить новый . » и изменить путь к нужной папке.

Qt добавить новый .

Папка должна существовать , Qt не создаст ее за вас.

Добавьте новый класс и измените папку по умолчанию Qt

Qt позаботится о пути в вашем файле .pro.

Qt позаботится о пути в вашем файле .pro

Qt позаботится о пути в вашем файле .pro

Следует отметить, что это не сработает при использовании проектов CMake в QtCreator. @ Этьен, ты прав. Это не работает. Что делать в этом случае?

У меня была такая же проблема, и я нашел относительно простой ответ.

Все , что вам нужно сделать , чтобы перейти file.cpp на newFolder это переименовать файл (правой кнопкой -> Переименовать) в newFolder\file.cpp .

Qt Creator переместит его в новую папку и автоматически обновит .pro файл.

не забывайте, что папка уже должна существовать до замены Если перемещенный файл находится под контролем GIT, позаботится ли создатель Qt о необходимых изменениях в GIT? @Silicomancer Git обрабатывает перемещенные файлы за вас, а не Qt Creator. Вам ничего не нужно делать, кроме как переместить файл с помощью описанного обходного пути (с использованием «переименования») в Qt Creator. Если бы вы перемещали файл только в файловой системе, Git распознал бы это, но путь к файлу не был бы скорректирован в .PRO файле Qt Creator . @Silicomancer Да. Если qtreacor распознает, что проект версируется с помощью git, он дублирует все действия. Это включает как минимум создание, удаление, переименование и перемещение файлов.

Начиная с версии 1.2.90 Qt Creator показывает вложенные папки, которые существуют в папке проекта, как ветви в дереве проекта, если только для параметра Дерево фильтра не установлено значение Упростить дерево .

Только кажется невозможным создать подкаталоги в QT-CREATOR.

  1. Создайте несколько подкаталогов с помощью файлового проводника или командной строки в папке проекта (например, net / , gui / , test / , data / . )!
  2. Переместите существующие файлы в эти новые папки. И измените их пути в файле * .proj !
  3. Создавайте новые файлы также с самого начала в новых папках (By AddNew . )!

. QT-CREATOR отображает только такие папки, которые содержат файлы, записанные со своими именами в файл * .pro или * .pri. На корневом уровне QT-CREATOR различает ЗАГОЛОВКИ, ИСТОЧНИКИ, ФОРМЫ и ДРУГИЕ ФАЙЛЫ. Внутри этих корневых папок вы можете неоднократно находить собственные подпапки проекта. (В этом тексте не рассматривается разделение на подпроекты.)

Правда. Если проект Qt просматривается внутри Qt Creator и pri проекты используются должным образом, среда IDE отображает вещи в красивой вложенной форме. Однако на уровне файловой системы все файлы (кроме случаев использования subdir и создания подпроектов) находятся на одном уровне иерархии каталогов. Это делает вещи довольно громоздкими, когда кто-то просматривает проект в проводнике файлов (Windows Explorer, Thunar, Nautilus и т. Д.). Если требуется правильная файловая структура, то выполнение действий вручную (как предлагает здесь @CWIMMER) - единственный способ.

Вы можете создать подкаталог, если у вас есть файл, который вы хотите создать в нем. Перейдите в родительский каталог и «Добавить» в него файл. «Найдите» нужное место и создайте новую папку в окне просмотра. Согласитесь, это не совсем интуитивно понятно.

Это продолжение этого вопроса Как создать подкаталог для проекта в qt-creator?, где первый ответ не работает для меня.

Я решил это, вручную записав каждый файл в main .pro файл, который не намного сложнее, но мне все равно интересно - как именно .pri-файлы работают, и почему решение, связанное выше, не добавило папки ,а только.pri файлы, так это выглядело в Qt creator:

Итак, мои вопросы:

  • каков общий формат .файлы pri?
  • почему решение выше не работает?

Я предполагаю, глядя на ваш скриншот, что QtCreator не находит файлы заголовков, перечисленные в .PRI-файл. Если ваш .файл pri находится в другом каталоге, чем ваш .pro file (что, похоже, имеет место здесь), Qt ищет файлы, перечисленные в .PRI-файл в том же каталоге, что .pri файл (не тот .pro file), и любой относительный путь будет разрешен из этого каталога.

когда файл не может быть найден, QtCreator молча игнорирует его и просто не добавить его в папку в виде проекты. Если, например, вы использовали полный путь для линии.ч, круг.H и Безье.ч в вашем числе.pri-файл, как только вы сохраните файл, вы увидите их в представлении проектов. Ключ теперь просто выяснить, что такое соответствующий относительный путь, указывающий на эти файлы относительно .PRI-файл.

формат .pri файлы точно такие же, как формат .pro файлы. Основное различие заключается в намерении; a .pro это то, что большинство людей ожидало бы запустить qmake на непосредственно, в то время как .pri должен быть включен .pro . Когда вы указываете qmake включить другой файл, он просто обрабатывает команды в этом файле, как если бы он был в текущем файле.

в последний раз, когда я смотрел на Qt Creator, он делал бы дополнительный разбор и признавал, что .pri файлы были отдельными, и список любых заголовков / источников/ui/rc / pri файлов из этого файла, особенно в качестве подкаталога, так же, как вы видите include.pri файлы, перечисленные на скриншоте этот вопрос.

The .pri файл содержит список исходных файлов, заголовочных файлов,.файлы пользовательского интерфейса и .файлы qrc в проекте.

../modul1/
-modul1.h
-modul1.cpp

../modul2/
-modul2.h
-modul2.cpp

../build/
-main.cpp
-widget.h
-widget.cpp
-widget.ui

Для этого создаю файл moduls.pro

Далее 3 директории: build, modul1, modul2. В них вышеописанные файлы и файл moduls.pri.

Файлы *.pro для каждой директории.
build.pro


Qt Creator выдает следующие ошибки в файле main.cpp

error: undefined reference to "classA::classA(int)"
error: undefined reference to "classB::classB(int)"

Файл modul1.h modul1.cpp (файлы modul2 аналогичны)

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Многомодульность. Как правильно сделать?
Здравствуйте! Делаю, какзалось бы элементарную вещь. Объявляю модуль(файл app.js): var app =.

После установки ArtCAM Pro не удаляются файлы *.art
Здравствуйте! Установил крякнутый «ArtCAM Pro ArtCAM Pro 2008. SP3 (build 260) Создано: Mar 20.

Не печатается DOC файлы в PDF через Adobe acrobat PRO
Доброго времени суток. Пытаюсь скрепить в один файл PDF несколько Word файлов, но выходит такая.

пути к библиотекам указаны, а сами библиотеки, полученные после компиляции модулей - не указаны. пути к библиотекам указаны, а сами библиотеки, полученные после компиляции модулей - не указаны.

Подскажите как это сделать?

Два последних тега - это библиотеки.

Добавлено через 1 час 35 минут

В общем ни я, ни qmake не заметили подвоха - тут оказывается пробела не хватает. Я-то подумал, что библиотека лежит в папке "modul1-lmodul1"

Подскажите, пожалуйста, что обозначает символ "../" ?
Это на один уровень выше от пути обрабатываемого *.pro файла или от файла, созданного утилитой qmake, Makefile ?

Просматриваю готовый многомодульный проект. INCLUDEPATH += ../../src/ , DESTDIR = ../Samples/bin эти записи в разных *.pro файлах говорят, что от файла, созданного утилитой qmake.
Однако, в одном из *.pro файлов есть запись include(../../QMapControl.pri). Это указываем, что от обрабатываемого *.pro

lell3, обычно это путь от файла, в котором это написано.


Что прописать в pro-файле, чтобы объектные файлы помещались в другую директорию
Что нужно прописать в pro-файле, чтобы объектные файлы помещались в другую директорию.

Problema pri svyazke Delphi s SQL 2005
Всем доброго времени суток. Вот сия оказия случилась со мной буквально вчера. Курсовой проект.

Pri master hard disk smart status bad
Здраствуйте. Буквально часов 5 назад выключал комп всё работало на ура, сейчас же при включении.

Программная реализация уже существует для множества функциональных возможностей, для большинства распространенных стандартов и для решения большого количества типичных задач. Например, реализация протокола SMTP (Simple Mail Transfer Protocol) для электронной почты или библиотека для быстрого преобразования Фурье, или даже визуальный элемент для вывода графика функции — являются примерами задач, с которыми может сталкиваться разработчик. Поэтому программист может столкнуться с необходимостью исследовать предметную область, спроектировать и разработать собственный вариант решения для них, выполняя работу заново с самого начала, хотя для этих задач уже существует реализация в других программных продуктах (библиотеках, инструментариях, и т. п.).

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

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

Откроем папку с исходным кодом и файл проекта qwt.pro . Обратите внимание: файл qwt.pro содержит строку

Файл qwtconfig.pri служит для настройки компиляции Qwt . Для компиляции примеров и тестового проекта для исследования Qwt откомментируйте:

Также закомментируйте строку для того, чтобы построить отдельную динамическую библиотеку для Qwt , которую мы будем использовать (эту строку необходимо комментировать только под Windows):

Далее отключите Shadow Build и запустите компиляцию в режиме Release . После завершения компиляции мы получим такое размещение файлов :

  • qwt/designer/plugins/designer — расширение для QtDesigner , которое даст нам возможность использовать виджеты Qwt при визуальном проектировании интерфейса;
  • qwt/lib — содержит динамически загружаемую библиотеку Qwt ;
  • qwt/src — содержит заголовочные файлы необходимые для разработки;

Создадим в папке нового GUI проекта подпапку и назовем ее 3rdparty . Добавим внутри нее еще одну папку с названием qwt . Наконец создадим внутри qwt еще две папки: lib и include . Внутрь папки lib скопируем содержимое qwt/lib — построенных библиотек qwt . А в папку include скопируем все файлы qwt/src , которые имеют расширение .h . Наконец для удобства создадим файл для включения в проект 3rdparty/qwt/qwt.pri и добавим содержание:

Первая строка .pri -файла указывает путь к размещению .h -файлов. Переменная $$PWD хранит значение текущей папки, то есть той, где находится файл qwt.pri . Вторая строка указывает размещение библиотек (- L <путь_к_библиотекам>). Последняя строка указывает на необходимость связывать программу во время компиляции с библиотекой qwt (-l <название_библиотеки>, где название_библиотеки — название файла библиотеки без расширения и префикса lib ).

Отметим, что для того чтобы построить проект в Debug режиме необходимо добавить соответствующие (тоже построенные в Debug режиме) библиотеки. То же касается и Release режима.

Теперь добавим этот файл к проекту PlotExample.pro . После строк

Теперь мы можем воспользоваться библиотекой Qwt в проекте. Создадим виджет для графика и добавим его в окно.

После запуска программы мы увидим пустое окно графика на экране (рис. 15.13).

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