Разное

Qt библиотек: Русское Qt-сообщество | Программирование Qt

Содержание

Русское Qt-сообщество | Программирование Qt

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




Кросс-платформенная библиотека Qt, разработанная финской компанией Trolltech, ныне принадлежит корпорации Nokia. Qt реализована на языке программирования C++ и пользуется популярностью у, прежде всего, C++-программистов поскольку использует «родной» для них интерфейс. Возможности C++ в Qt значительно расширенны с помощью макросов и MOC (Meta Object Compiler): добавлены сигналы/слоты, появилось возможность использовать в собственных классах свойства (propperty). Но Qt не ограничена только лишь языком C++. Для программистов Python, Ruby, Php и Perl также реализованы интерфейсы взаимодействия, которые, как правило, используются для построения графического интерфейса пользователя. Программисты Java могут обратить внимание на проект Jambi, но его будущее очень туманно.




Область применения Qt

Если вы ранее не были знакомы с Qt, то перед вами может возникнуть вопросы: зачем мне изучать еще одну библиотеку или для решения каких задач применять Qt?

Из того, что Qt является кросс-платформенной, следует что с ее помощью можно создавать desktop-приложения для Windows, Linux, Mac OS X (как консольные, так и с оконным графическим интерфейсом). Однако разработчики Qt на этом не остановились. В последние несколько лет наблюдается тенденция увеличения количества выпускаемых мобильных устройств. Было бы по меньшей мере странным не портировать Qt на мобильные платформы: Symbian, Maemo, MeeGo. Также известно об удачном опыте портрования Qt Lighthouse на платформу Android.


Лицензирование Qt

Qt имеет тройное лицензирование:

  1. Qt Commercial — коммерческая лицензия, после приобретения которой вы можете выпускать программный продукт под собственной лицензией.
  2. GNU GPL — если вы open-source разработчик это ваш выбор.
  3. GNU LGPL — позволяет вести разработку под собственной лицензией, однако вы не можете вносить изменения в код Qt.

К сильным сторонам Qt можно отнести:

  • Кроссплатформенность: Qt работает как в настольных операционных системах Windows, Linux, Mac OS и др., так и мобильных ­ Symbian, Maemo, MeeGo.
  • Быстроту: часто кросплатформенные приложения, написанные на платформах Java и .Net Framework, оказываются очень медлительным из-за дополнительного уровня абстракции. Программы Qt являются компилируемыми C++-приложениями, т. е. не работают также быстро как и приложения С++.

Динамические библиотеки в Qt / Хабр

Введение

До начала работы с библиотекой Qt я программировал различные задачки на С++ в университете, а на работе использовал Delphi. И конечно же, в процессе работы создавались различные библиотеки. Создавались, можно сказать, с трудом. Не хватало в повседневной жизни тех плюсов, которые давало ООП. Всегда хотелось экспортировать из библиотек целые классы, причем делать это просто, быстро и беззаботно. При этом вопросы о создании библиотек на С++ и дальнейшем их использовании в проектах на Delphi или C возникали очень редко.

И вот я участвую в разработке своего первого проекта с использованием библиотеки Qt. Чтение книг, ассистента, форумов, статей и идеи, идеи, идеи. Проект большой, содержит множество компонентов, а опыт наша команда набирала, скажем так, в боевых условиях.

Создание библиотеки

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

Большая часть изменений касается *.pro файла Вашей будущей библиотеки:

  1. # Мы создаем библиотеку
  2. # В указанную директорию относительно директории, в которой находится
  3. # pro-файл будут помещены бинарные файлы библиотеки.
  4. TEMPLATE = lib
  5. DESTDIR = dist
  6. # Версия библиотеки.
  7. VERSION = 1.0.0
  8. # Задаем имя нашей библиотеки
  9. TARGET = $$qtLibraryTarget(MyLibrary)
  10. # Указываем, что собирать надо release и debug версии библиотек
  11. CONFIG += build_all

О функции qtLibraryTarget

Функция $$qtLibraryTarget дополняет название нашей библиотеки номером версии и постфиксом типа сборки (“d” — в windows, “_debug” — в mac, в linux постфикса нет). То есть в после сборки в папке назначения мы увидим файлы (windows):

  • MyLibrary1.dll — release-сборка библиотеки. (Номер версии берется из старшего разряда, указанного в теге VERSION. Например, VERSION = 1.0.0, следует номер версии библиотеки будет равен 1)
  • MyLibraryd1.dll — debug-сборка библиотеки.

Правим код

Теперь необходимо настроить экспорт нашего кода из библиотек. Для этого создадим в новый заголовочный файл и назовем его, например, MyLibrary_global.h. Его содержимое должно быть таким (Creator создает этот файл автоматически при создании проекта динамической библиотеки):

  1. #ifndef MYLIBRARY_GLOBAL_H
  2. #define MYLIBRARY_GLOBAL_H
  3.  
  4. #include <QtCore/qglobal.h>
  5.  
  6. #if defined(MyLibrary_LIBRARY)
  7. #  define MyLibrary_EXPORT Q_DECL_EXPORT
  8. #else
  9. #  define MyLibrary_EXPORT Q_DECL_IMPORT
  10. #endif
  11.  
  12. #endif  /* MYLIBRARY_GLOBAL_H */

Добавим созданный файл в проект:

  1. HEADERS += MyLibrary_global.h
  2. # И допишем обязательную строчку с макросом экспорта:
  3. DEFINES += MyLibrary_LIBRARY

Экспорт классов и функций

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

  1. #include "MyLibrary_global.h"
  2. class MyLibrary_EXPORT ComputerManager: public QObject {
  3.     Q_OBJECT
  4. ...
  5. }
  6. // или функцию:
  7. MyLibrary_EXPORT QDebug operator<<(QDebug d, const MyObject &object);

О сборке библиотек в linux

Как уже было сказано, при сборке библиотеки в linux постфикс типа сборки не ставится (в этом можно убедиться, посмотрев реализацию этой функции qtLibraryTarget в исходниках qt). Но и это не беда, достаточно немного подправить строки в pro-файле:

  1. # Если операционная система из семейства unix
  2. unix: {
  3.         CONFIG (debug, debug|release) {
  4.                 # Такое название имеет debug-версия библиотеки
  5.                 TARGET = ComputerManagerd
  6.         } else {
  7.                 # А такое release-версия
  8.                 TARGET = ComputerManager
  9.         }
  10. } else {
  11.         TARGET = $$qtLibraryTarget(ComputerManager)
  12. }
  13. VERSION = 1.0.0
  14. # Первый параметр необходим для сборки #библиотеки в linux (qmake, make all),
  15. # второй для сборки под остальными ОС.
  16. CONFIG += debug_and_release build_all
  17. # Указываем папки для объектных файлов. Для unix-подобных ОС это критично.
  18. # Если этого не сделать, то будет собираться только release версия библиотеки,
  19. # либо только отладочная. Связано это с тем, что файлы будут замещать друг друга.
  20. CONFIG (debug, debug|release) {
  21.         OBJECTS_DIR = build/debug
  22. } else {
  23.         OBJECTS_DIR = build/release
  24. }

Эта часть pro-файла будет создавать одновременно динамические библиотеки в debug и release версиях на windows, linux, mac.

Использование библиотеки

В pro-файле проекта необходимо дописать строки:

  1. # Подключаем заголовочные файлы библиотеки
  2. INCLUDEPATH += include/MyLibrary
  3. CONFIG(debug, debug|release) {
  4.     # Подключаем debug-версии библиотек для разных платформ
  5.     win32: LIBS += -Llib -lMyLibraryd1
  6.     unix: LIBS += -Llib -L. -lMyLibraryd -Wl,-rpath,lib -Wl,-rpath,.
  7. } else {
  8.     # Подключаем release-версии библиотек для разных платформ
  9.     win32: LIBS += -Llib -lMyLibrary1
  10.     unix: LIBS += -Llib -L. -lMyLibrary -Wl,-rpath,lib -Wl,-rpath,.
  11. }

При этом подразумевается, что в корне вашего проекта имеется две папки:
lib — Содержит бинарные файлы библиотеки. include — содержит папку MyLibrary со всеми заголовочными файлами библиотеки.

Заключение

Библиотека Qt является удобным инструментом реализации ваших идей и проектов. Она сильно упрощает жизнь программисту, потому что создание библиотек в проектах на Qt — очень простая и понятная задача.

Подсветка синтаксиса: Редактор Блогов от © SoftCoder.ru

Qt — статическая линковка библиотеки под Windows / Хабр

Всем доброго времени суток, решил написать эту статью специально для тех кто хочет или еще захочет чтобы его программка написанная c помощью Qt под Windows работала даже там где о Qt и не слышали, на Хабре есть статья где данная проблема решается сопровождением нашего .exe библиотечками от skazkin. Сам очень долго искал решение этого вопроса, но практически везде об этом говорили говорили, но ничего действенного так и не получалось. В итоге собирая и анализируя все что приходило мне из разных источников, я наконец-то сделал это и если кому ещё интересно всех прошу под кат

Немного о себе. Ось моя Windows 7 (хотя был XP все тоже), библиотеки Qt 4.7.4 (если у Вас +- пару версий это нормально), Qtcreator 2.3.1 + компилятор MinGw. Сначала ставил Qt Creator, который с официального сайта можно скачать уже с компилятором MinGW (и не только его, а и все остальное), далее библиотеки.
Приступаем к самому интересному, допустим что всё уже установлено или поставилось:
1. Находим директорию куда мы установили нашу библиотеку, что то вроде C:\Qt\4.*.*\, а точнее в C:\Qt\4.*.*\mkspecs\win32-g++ (кстати никогда не используйте кириллицу в наименовании пути к любым файлам Qt, просто не делайте это) и находим там config-file qmake.conf , открываем блокнотиком и добавляем строку
QMAKE_LFLAGS += -static, я её поставил к остальным флажкам.

2. Теперь создаем .bat файл, причем неважно где с примерно следующим содержанием. Где первые две строки будут:
SET QTDIR=C:\Qt\4.7.4

SET PATH=C:\Qt\qtcreator-2.3.1\mingw\bin; C:\Qt\4.7.4\bin;%PATH%


Важно как понимаете изменить директории под Ваши собственные, если конечно они не совпадают. Далее:
configure -opensource -release ^

-nomake examples -nomake demos -nomake tools ^

-nomake translations -nomake docs ^

-no-exceptions -no-stl -no-rtti ^

-no-qt3support -no-scripttools -no-openssl -no-opengl ^

-no-dsp -no-webkit -no-phonon ^

-no-style-motif -no-style-cde -no-style-cleanlooks ^

-no-style-plastique ^

-no-script -no-scripttools -no-declarative ^

-static -platform win32-g++

mingw32-make

Внимание выше перечислены библиотеки которые будут исключены из статической сборки, так что если Вам как и мне будет необходима например поддержка Qt3, то удалите -no-qt3support, и так все что Вам нужно, или добавте то что не нужно, но будьте аккуратны.

3. Всё. Сохраняем и запускаем наш .bat и идем пить кофе, библиотеки собираются теперь без нас.

После всего проделанного наши проекты будут собираться в режиме release полностью статично и можно скорее кодить, скидывать на флешку и нести показать все это нашему другу!

Отдельное спасибо за наставления и поддержку michurin

И не судите строго, надеюсь это кому-нибудь поможет, ведь сам искал это ну очень очень долго…

Qt WinAPI — Урок 001. Как собрать все DLL, используемые в Qt-проекте?

Рано или поздно перед любым Qt-разработчиком встаёт необходимость переноса своего приложения на другие компьютеры, и тогда возникает проблема наличия библиотек на целевом компьютере, которые необходимы для запуска и работы приложения. Особенно заметно это может быть при переносе приложения, которое должно исполняться под ОС Windows. Если под ОС Linux необходимые Qt библиотеки могут присутствовать по умолчанию, как например с Ubuntu, то под ОС Windows их может и вовсе не быть.

Но поиск и сборка всех необходимых библиотек может оказаться трудной задачей для новичка, да и вполне нудной задачей для опытного программиста. Но и здесь благодаря добрым людям имеется решение. Это утилита

DLL

Collector.

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

Как пишет

Автор

, утилита производит поиск зависимостей в runtime процесса. Следовательно Вашу программу необходимо запустить через данную утилиту.

DLL

Collector

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

DLL

Collector

нашёл все библиотеки.

Как работает DLL Collector

Шаг первый. Настройка утилиты

На данном шаге необходимо произвести следующие действия:

  1. Указать в поле

    name

    путь к скомпилированной программе;
  2. Указать в поле

    bin

    путь к бинарным файлам библиотек Qt;
  3. Указать в поле

    plugins

    путь к  плагинам Qt;
  4. Указать путь к папке, куда будут скопированы DLL библиотеки
  5. Поставить галочку напротив

    add bin to envitonment

Шаг второй. Запуск Вашего приложения

После того, как настройка произведена, запускаем Ваше приложение нажатием кнопки

Run.

Шаг третий. Обновление списка плагинов и библиотек

После того, как Ваше приложение запустилось, нажмите кнопку

Update.

Высветится список плагинов и библиотек. Также поработайте с Вашим приложением немного, чтобы

DLL Collector

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

Update

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

Шаг четвертый. Копирование библиотек

После того, как библиотеки найдены, нажмите кнопку

Copy,

и все библиотеки будут скопированы.

Резюме

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

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

DLLCollector

Также Вы можете ознакомиться с программой на

странице

Автора.

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

следующей статье

.

Видеоурок

Статическая линковка библиотек Qt 5.x (MinGW) под Windows / Песочница / Хабр

В данной статье я опишу как сделать отдельный комплект со статической линковкой библиотек Qt5. Если другими словами, мы сможем собирать проект в один исполняемый файл без Qt *.dll.

Подготовка

Нам понадобится непосредственно сам Qt, с официального сайта Qt 5.x.x for Windows 32-bit (MinGW).
Во время установки поставьте галочку на «Source Components», т.к. исходники будут нам необходимы для сборки.
В своем примере я буду использовать Qt 5.5.0 for Windows 32-bit (MinGW 4.9.2).

Начнем

Сборка комплекта

  • Создаем резервную копию qmake.conf, он находится в «Qt5.5.0\5.5\mingw492_32\mkspecs\win32-g++»
  • Делаем изменения в qmake.conf
    QMAKE_LFLAGS += -static-libgcc -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
    DEFINES += QT_STATIC_BUILD
    
  • Создаем резервную копию исходников Qt, они находятся в «Qt5.5.0\5.5\Src»
  • Теперь запускаем терминал Qt — Qt 5.5 for Desktop (MinGW 4.9.2 32 bit), он находится

    в «Все программы -> Qt5.5.0 -> 5.5 -> MinGW 4.9.2 (32-bit)» или же полным путем «%appdata%\Microsoft\Windows\Start Menu\Programs\Qt 5.5.0\5.5\MinGW 4.9.2 (32-bit)»
  • Переходим в директорию с исходниками Qt, вводим команду
    cd X:\Qt\Qt5.5.0\5.5\Src\
  • Конфигурируем этап установки, вводя команду, где путь после -prefix, местоположение комплекта сборки
    configure -static -platform win32-g++ -prefix "X:\Qt\Qt5.5.0_Static" -release -opensource -confirm-license -nomake examples -nomake tests -nomake tools -opengl desktop -no-angle -qt-sql-sqlite -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype
    
  • По завершению конфигурирования, начинаем компиляцию исходников Qt, командой
    mingw32-make
    


    После компиляции, будет несколько ошибок, не обращаем на них внимание, они никак не скажутся на нашей сборке.

  • Копируем файлы в указанный нами каталог на этапе конфигурирования, командой
    mingw32-make install
    


    После копирования, так же будет несколько ошибок, не обращаем на них внимание.

  • Теперь восстанавливаем резервные копии исходников Qt и qmake.conf

Добавляем статичный комплект в Qt Creator

  • Запускаем Qt Creator
  • Открываем «Инструменты -> Параметры..»
  • Далее переходим «Сборка и запуск -> Qt Versions»
  • Жмем добавить и выбираем qmake.exe, точнее «X:\Qt\Qt5.5.0_Static\bin\qmake.exe»
  • Переходим во вкладку «Комплекты»
  • Жмем добавить
  • Пишем название нашего комплекта «Qt 5.5.0 Static MinGW 32», в профиле Qt указываем наш статичный профиль, который добавили в Qt Versions, так же указываем версию нашего компилятора и отладчика(MinGW)
  • Все, мы добавили статичный комплект в Qt Creator

Примечание: в статический комплект не будут включены библиотеки gcc, что бы они так же собирались в исполняемый файл, надо прописать в .pro/.pri

QMAKE_LFLAGS_RELEASE += -static -static-libgcc

Руководствовался информацией с англ. инструкции wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW

Спасибо за внимание!

Добавление внешней библиотеки в проект Qt Creator

Если вы хотите развернуть свое приложение на машинах клиентов, а не использовать свое приложение только самостоятельно, мы обнаружим, что LIBS+= -Lxxx -lyyy метод может привести к путанице, если нет проблем.

мы разрабатываем приложения для Linux, Mac и Windows, используя Qt. Мы грузим полные, отдельно стоящие применения. Так что все несистемные библиотеки должны быть включены в пакет развертывания. Мы хотим, чтобы наши клиенты могли запускать приложение с одного USB-накопителя для всех ОС. По причинам из совместимости платформы USB-накопитель должен быть отформатирован как FAT32, который не поддерживает символические ссылки (Linux).

мы нашли LIBS+= -Lxxx -lyyy идиома слишком много «черного ящика»:

  1. мы точно не знаем, что такое путь к файлу (статической или динамической) библиотеки, найденной компоновщиком. Это неудобно. Наш Mac linker регулярно находил библиотеки, отличные от тех, которые мы думали, что должны использоваться. Это произошло несколько раз с библиотеками OpenSSL где компоновщик Mac нашел и использовал свою собственную — более старую, несовместимую — версию OpenSSL, а не нашу запрошенную версию.

  2. мы не можем позволить, чтобы компоновщик использовал символические ссылки на библиотеки, поскольку это нарушило бы пакет развертывания.

  3. мы хотим видеть от имя библиотеки, связываем ли мы статическую или динамическую библиотеку.

поэтому для нашего конкретного случая мы используем только абсолютные filepaths и проверьте, существуют ли они. Мы удаляем все ссылки.

Сначала мы узнаем, какую операционную систему мы используем, и помещаем это в переменную CONFIG. И, например, для Linux 64bit, затем:

linux64 {
    LIBSSL= $$OPENSSLPATH/linux64/lib/libssl.a
    !exists($$LIBSSL): error ("Not existing $$LIBSSL")
    LIBS+= $$LIBSSL
    LIBCRYPTO= $$OPENSSLPATH/linux64/lib/libcrypto.a
    !exists($$LIBCRYPTO): error ("Not existing $$LIBCRYPTO")
    LIBS+= $$LIBCRYPTO
}

все зависимости могут быть скопированы в пакет развертывания, поскольку мы знаем их пути к файлам.

Должен ли я включать все эти библиотеки Qt в свое приложение?

обновление: используйте windeployqt.exe! Это работает очень хорошо.

http://doc.qt.io/qt-5/windows-deployment.html#the-windows-deployment-tool

самый простой способ использовать windeployqt-добавить каталог bin
ваша установка Qt (например ) в переменную PATH, а затем
беги:

windeployqt <path-to-app-binary>

обновление: после дальнейшего тестирования, windeployqt не копировал все библиотеки MinGW для меня. (Протестировано с Qt 5.4 на Windows 10 с MingW 4.9.1). Поэтому вам нужно вручную получить последние 3 библиотеки DLL перед развертыванием:

libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll

С

C:\Qt.4\mingw491_32\bin

Я думаю, у вас может быть несколько дополнений в вашем списке… Я бы дважды проверил документы в ссылках ниже…

вот окончательная документация по это:

http://doc.qt.io/qt-5/windows-deployment.html

http://doc.qt.io/qt-5/windows-deployment.html#application-dependencies

размер Qt DLL

удивительные библиотеки Qt могут многое сделать, но они довольно большие. Некоторые из старых версий Qt могут быть немного меньше.

для Qt 4.8 msvc QtCore4.dll 2,5 МБ, и QtGui4.dll составляет 8,4 МБ.

Как Windows Разрешает Общий Доступ Библиотеки / Библиотеки динамических ссылок (DLL)

вот как Windows отслеживает библиотеку во время выполнения:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs. 85).aspx

один маленький EXE

если вы статически связываете, то ваш EXE должен захватить библиотеки, которые ему нужны, и встроен в автономный exe. Он по-прежнему может зависеть от перераспределяемых msvc. Дополнительную информацию см. В следующем разделе. Но это теперь компилирует вниз .libs, которые вы ссылаетесь на свой EXE, и ваш exe больше не указывает на другие динамически связанные библиотеки. Это займет больше времени, чтобы получить статически настройки ехе среды.

ваш exe, безусловно, станет больше, поскольку теперь он включает двоичную информацию для библиотек, на которые вы ссылались раньше.

https://www.google.com/search?q=qt + статический + linking

изменить:
Статически дом ехе, означает, что вы не используете версию LGPL.
означает, что вы должны иметь объектные файлы, доступные конечным пользователям, если вы используете LGPL.

Я думаю, что @peppe описал это хорошо (см. комментарий ниже):

технически вам разрешено статически связываться при использовании Qt под LGPL, даже если ваше приложение не использует LGPL. Единственное сложное требование-сохранить возможность для третьей стороны повторно связать ваше приложение с другим Версию Qt. Но вы можете легко подчиниться этому, Ф. Я. предоставляя огромный объектный файл (.o) вашего приложения, которое должно быть связано только с любой версией Qt.

http://blog.qt.io/blog/2009/11/30/qt-making-the-right-licensing-decision/

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

индекса MSVC Свободно распространяемые файлы

распространяемые зависимости связаны с параметрами компоновщика библиотеки времени выполнения.

http://msdn.microsoft.com/en-us/library/aa278396 (v=против 60).aspx

/MD, /ML, /MT, /LD (Используйте Библиотеку Времени Выполнения)

чтобы найти эти параметры в среде разработки, щелкните параметры в меню проект. Затем перейдите на вкладку C/C++ и нажмите кнопку генерация кода в поле категория. См. раздел использование библиотеки времени выполнения выпадающий список.

эти две ссылки ниже рассказывают о некоторых старых версиях visual studio, но рассуждения все равно должны стоять.

http://www.davidlenihan.com/2008/01/choosing_the_correct_cc_runtim.html

как сделать полностью статически .exe с Visual Studio Express 2005?

надеюсь, что это поможет.

Добавление библиотек в проекты | Qt Creator Руководство

В дополнение к библиотекам Qt вы можете добавлять в свои проекты другие библиотеки. Способ добавления библиотеки зависит от типа и расположения библиотеки. Вы можете добавить системную библиотеку, свою собственную библиотеку или стороннюю библиотеку. Библиотека может находиться либо в дереве сборки текущего проекта, либо в другом дереве сборки.

Поскольку системные библиотеки обычно не меняются и часто встречаются по умолчанию, вам не нужно указывать путь к библиотеке или к ее включенным компонентам при добавлении.Вы можете использовать pkg-config для запроса системных библиотек во время компиляции.

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

Для всех библиотек выберите целевые платформы для приложения, библиотеки или подключаемого модуля.

Укажите, связана ли библиотека статически или динамически.Для статически связанной внутренней библиотеки Qt Creator добавляет зависимости (PRE_TARGETDEPS) в файл проекта.

В зависимости от платформы разработки некоторые параметры могут определяться автоматически. Например, в macOS тип библиотеки ( Library или Framework ) определяется автоматически, а параметр скрывается. Однако, если вы разрабатываете на платформе, отличной от macOS, и хотите создать свой проект для macOS, вы должны указать тип библиотеки.

Соглашение по умолчанию в Windows заключается в том, что отладочная и выпускная версии библиотеки имеют одно и то же имя, но помещаются в разные подкаталоги, обычно называемые debug и release .Если путь к библиотеке не содержит ни одной из этих папок, вы не можете выбрать вариант размещения библиотек в отдельных папках.

В качестве альтернативы можно добавить букву d к имени библиотеки для отладочной версии. Например, если версия выпуска называется example.lib, отладочная версия называется exampled.lib. Вы можете указать, что буква добавляется для отладочной версии и удаляется для версии выпуска. Если имя библиотеки оканчивается на d , снимите флажок Удалить суффикс «d» для параметра выпуска версии .

Qt Creator поддерживает автозавершение кода и подсветку синтаксиса для добавленных библиотек после успешной сборки проекта и ссылки на них.

Для добавления библиотек

  1. В представлении Projects щелкните правой кнопкой мыши имя проекта, чтобы открыть контекстное меню, и выберите Добавить библиотеку .
  2. Следуйте инструкциям мастера.

Для получения дополнительной информации о настройках файла проекта см. Объявление других библиотек.

Пример добавления внутренних библиотек

Чтобы добавить в проект внутреннюю библиотеку:

  1. Выберите файл > Новый файл или проект > Библиотека > Библиотека C ++ .
  2. Выберите Выберите , чтобы открыть диалоговое окно «Местоположение проекта ».

  3. В поле Имя укажите имя библиотеки. Например, mylib .
  4. Следуйте инструкциям мастера, пока не дойдете до диалогового окна Project Management . В списке Добавить как подпроект к проекту выберите проект. Например, myapp .
  5. В представлении Projects щелкните правой кнопкой мыши имя проекта, чтобы открыть контекстное меню, и выберите Добавить библиотеку > Внутренняя библиотека > Далее .
  6. В поле Library выберите mylib , а затем выберите Next .
  7. Выберите Finish , чтобы добавить следующее объявление библиотеки в файл проекта:
     win32: CONFIG (release, debug | release): LIBS + = -L $$ OUT_PWD /../../../ projects / mylib / релиз / -lmylib
    иначе: win32: CONFIG (отладка, отладка | выпуск): LIBS + = -L $$ OUT_PWD /../../../ projects / mylib / debug / -lmylib
    еще: unix: LIBS + = -L $$ OUT_PWD /../../../ проекты / mylib / -lmylib
    
    INCLUDEPATH + = $$ PWD /../../../projects/mylib
    DEPENDPATH + = $$ PWD /../../../ projects / mylib
    
    win32: CONFIG (выпуск, отладка | выпуск): PRE_TARGETDEPS + = $$ OUT_PWD /../../../ projects / mylib / release / mylib.lib
    иначе: win32: CONFIG (отладка, отладка | выпуск): PRE_TARGETDEPS + = $$ OUT_PWD /../../../ projects / mylib / debug / mylib.lib
    еще: unix: PRE_TARGETDEPS + = $$ OUT_PWD /../../../ projects / mylib / libmylib.a 

.

сторонних библиотек | Qt 5.15

Использование сторонней библиотеки с Qt — простой процесс. Предположим, вам известна кроссплатформенная библиотека, которая принимает аудиосэмплы кошачьего мяуканья и переводит их на английские слова. Эта библиотека называется CatWhisperer и содержит несколько файлов, которые она предоставляет как часть своей библиотеки. В вашем проекте MyQtApp эти файлы хранятся в папке с именем 3rdparty :

  • MyQtApp /
    • MyQtApp.pro
    • src /
    • 3rdparty /
      • CatWhisperer
        • включить /
        • lib /
          • libCatWhisperer.so
          • CatWhisperer.lib
        • бин /

Для использования библиотеки CatWhisperer в MyQtApp , qmake требует расположения и имен библиотек CatWhisperer . По желанию вы также можете:

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

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

Исходный код

Уметь писать

 #include  

вместо

 #include <3rdparty / CatWhisperer / include / CatWhisperer.h> 

, вы можете указать путь к каталогу CatWhisperer include , используя переменную INCLUDEPATH:

 INCLUDEPATH + = 3rdparty / CatWhisperer / включает 

Файлы библиотеки

Чтобы qmake знал, где найти файлы библиотеки CatWhisperer , используйте переменную LIBS:

 LIBS + = -L "3rdparty / CatWhisperer / lib" -lCatWhisperer 

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

Вторая часть сообщает компоновщику, с какими библиотеками компоноваться. У нас есть два разных файла библиотеки для платформ UNIX и Windows соответственно: libCatWhisperer.so и CatWhisperer.lib . Нет необходимости указывать ни расширение .lib , ни префикс lib (на платформах UNIX).

Каталог назначения

По умолчанию qmake создает исполняемый файл в том же каталоге, что и .pro файл. Мы можем выбрать наш собственный каталог с помощью переменной DESTDIR:

Вот и все! Теперь вы можете использовать библиотеку CatWhisperer в своем проекте. Окончательный файл .pro выглядит так:

 TARGET = MyQtApp

ШАБЛОН = приложение

INCLUDEPATH + = 3rdparty / CatWhisperer / включить

ИСТОЧНИКИ + = src / main.cpp

LIBS + = -L "3rdparty / CatWhisperer / lib" -lCatWhisperer 

.

Класс QLibraryInfo | Qt Core 5.15.1

Класс QLibraryInfo предоставляет информацию о библиотеке Qt. Подробнее …

Заголовок: #include
qmake: QT + = ядро ​​

Открытые типы

enum LibraryLocation {PrefixPath, DocumentationPath, HeadersPath, LibrariesPath, LibraryExecutablesPath,…, SettingsPath}

Статические открытые члены

Подробное описание

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

Вы также можете использовать файл qt.conf для переопределения жестко заданных путей, которые скомпилированы в библиотеку Qt. Для получения дополнительной информации см. Документацию Использование qt.conf.

См. Также QSysInfo и Использование qt.conf.

Документация по типу элемента

перечисление QLibraryInfo :: LibraryLocation

Этот тип перечисления используется для указания конкретного спецификатора местоположения:

Константа Значение Описание
QLibraryInfo :: PrefixPath 0 Префикс по умолчанию для всех путей.
QLibraryInfo :: DocumentationPath 1 Расположение документации после установки.
QLibraryInfo :: HeadersPath 2 Расположение всех заголовков.
QLibraryInfo :: LibrariesPath 3 Расположение установленных библиотек.
QLibraryInfo :: LibraryExecutablesPath 4 Расположение установленных исполняемых файлов, необходимых библиотекам во время выполнения.
QLibraryInfo :: BinariesPath 5 Местоположение установленных двоичных файлов Qt (инструменты и приложения).
QLibraryInfo :: PluginsPath 6 Расположение установленных подключаемых модулей Qt.
QLibraryInfo :: ImportsPath 7 Местоположение установленных расширений QML для импорта (QML 1.x).
QLibraryInfo :: Qml2ImportsPath 8 Местоположение установленных расширений QML для импорта (QML 2.Икс).
QLibraryInfo :: ArchDataPath 9 Расположение общих архитектурно-зависимых данных Qt.
QLibraryInfo :: DataPath 10 Расположение общих архитектурно-независимых данных Qt.
QLibraryInfo :: TranslationsPath 11 Местоположение информации о переводе для строк Qt.
QLibraryInfo :: ExamplesPath 12 Расположение примеров при установке.
QLibraryInfo :: TestsPath 13 Расположение установленных тестовых наборов Qt.
QLibraryInfo :: SettingsPath 100 Местоположение для настроек Qt. Неприменимо в Windows.

См. Также местоположение ().

Документация по функциям-членам

[статические] bool QLibraryInfo :: isDebugBuild ()

Возвращает true , если эта сборка Qt была построена с включенной отладкой, или false, если она была построена в режиме выпуска.

Эта функция была представлена ​​в Qt 5.0.

[статические] QString QLibraryInfo :: location (QLibraryInfo :: LibraryLocation loc )

Возвращает местоположение, указанное в loc .

[статические] QVersionNumber QLibraryInfo :: version ()

Возвращает версию библиотеки Qt.

Эта функция была представлена ​​в Qt 5.8.

См. Также qVersion ().

© 2020 Компания Qt Company Ltd.
Включенная сюда документация является собственностью
их владельцы. Представленная здесь документация лицензирована в соответствии с условиями лицензии GNU Free Documentation License версии 1.3, опубликованной Free Software Foundation. Qt и соответствующие логотипы являются товарными знаками компании Qt Company Ltd. в Финляндии и / или других странах по всему миру.Все остальные товарные знаки являются собственностью
их владельцев.

.

Inqlude — Архив библиотеки Qt

Аттика Open Collaboration Services API API LGPLv2.1 +
Авахи Привязки Qt4 для avahi, службы D-BUS для Zeroconf и Bonjour Привязки,
Общение
LGPLv2.1 +
Балу Baloo — это фреймворк для индексации и поиска файлов Развитие LGPLv2.1+
BluezQt Оболочка Qt для BlueZ 5 DBus API Общение LGPLv2.1 +
Бриз Иконки Тема значка Breeze Произведение искусства LGPLv2.1 +
Симпатичный Веб-фреймворк, использующий простой подход фреймворка Catalyst (Perl).

Интернет LGPLv2
CuteReport Сообщить о решении

Печать GPLv3 +,
Коммерческий
google-diff-match-patch Библиотеки Diff, Match и Patch для простого текста Текст Apache2.0
Клиент Echo Nest Библиотека Qt для связи с The Echo Nest Мультимедиа,
API
LGPL
Enginio Клиентская библиотека Enginio для платформы Qt. Предоставляет клиентским приложениям API Qt C ++ и QML.
Данные,
API,
QML
GPLv3,
LGPLv2.1
eXaro Механизм отчетов
Печать GPLv3,
LGPLv3
Дополнительные модули CMake Дополнительные модули CMake

Развитие LGPLv2.1+
Интеграция фреймворка Плагины интеграции рабочего пространства и кросс-фреймворка Рабочий стол LGPLv2.1 +
GCF Базовая структура компонентов
Развитие GPLv2,
GPLv3,
Коммерческий
Библиотека GLC Библиотека для высокопроизводительных 3D-приложений на основе OpenGL

Графика LGPLv3 +
инъекция Внедрение зависимости

Развитие LGPLv2.1
Джрин Клиентская библиотека XMPP Общение GPLv2 +
KДеятельность Среда выполнения и библиотека для организации работы пользователя в отдельных действиях Рабочий стол LGPLv2.1 +
KActivitiesStats Библиотека для доступа к данным об использовании, собранным системой действий. Рабочий стол LGPLv2.1+
KАрхив Сжатие файлов Данные LGPLv2.1 +
KAuth Абстракция от системной политики и функций аутентификации Безопасность,
API
LGPLv2.1 +
КЗаметки Поддержка закладок и формата XBEL Интернет LGPLv2.1+
KCalendarCore Библиотека доступа к календарю KDE LGPLv2.1 +
KCMUtils Утилиты для работы с KCModules Рабочий стол LGPLv2.1 +
KCodecs Кодировка текста Текст LGPLv2.1 +
KЗавершение Помощники и виджеты автозавершения текста Текст,
Виджеты
LGPLv2.1+
KConfig Система конфигурации Развитие LGPLv2.1 +
KConfigWidgets Виджеты для диалоговых окон конфигурации Развитие,
Виджеты
LGPLv2.1 +
KКонтакты Поддержка контактов vCard LGPLv2.1 +
KCoreAddons Дополнения к QtCore Текст,
Данные
LGPLv2.1+
KCrash Поддержка анализа сбоев приложений и отчетов об ошибках из приложений Развитие LGPLv2.1 +
KDAV Реализация протокола DAV с помощью KJobs LGPLv2.1 +
KDBusAddons Дополнения к QtDBus Рабочий стол LGPLv2.1+
KДекларативная Обеспечивает интеграцию QML и KDE Frameworks Рабочий стол,
QML
LGPLv2.1 +
KDED Расширяемый демон для предоставления услуг системного уровня Рабочий стол LGPLv2.1 +
Библиотеки KDE 4 Платформа разработки KDE
Рабочий стол LGPLv2.1+
KDELibs 4 Поддержка Помощь при переносе из KDELibs4 Развитие LGPLv2.1 +
Библиотеки KDE PIM Библиотеки KDE PIM
Данные,
Общение
LGPLv2.1 +
KDesignerPlugin Инструмент для создания настраиваемых плагинов виджетов для Qt Designer / Creator Развитие LGPLv2.1+
КДЕСУ Интеграция с su для повышенных привилегий Безопасность,
Рабочий стол
LGPLv2.1 +
KDE WebKit Интеграция KDE для QtWebKit Интернет LGPLv2.1 +
KDE DNS-SD Абстракция до системных функций DNSSD Привязки,
Общение
LGPLv2.1+
KDocИнструменты Генерация документации из docbook Развитие,
Текст
LGPLv2.1 +
KD отчеты Генератор отчетов

Печать LGPLv2.1 +,
Коммерческий
KD SOAP Клиентский и серверный компонент SOAP

API,
Развитие
LGPLv2.1+,
Коммерческий
KEmoticons Поддержка смайлов и тем смайликов Произведение искусства LGPLv2.1 +
KF5Зонтик Удобные функции CMake для платформ KDE Развитие LGPLv2.1 +
KFileAudioPreview Предварительный просмотр аудиофайлов Мультимедиа LGPLv2.1+
KFileMetaData Библиотека метаданных файла и извлечения текста Данные LGPLv2.1 +
KGlobalAccel Добавить поддержку глобальных ярлыков рабочей области Рабочий стол LGPLv2.1 +
Дополнения для графического интерфейса KDE Дополнения к QtGui Виджеты LGPLv2.1+
KПраздники Библиотека расчета отпуска Данные LGPLv2.1 +
KHTML KHTML API Интернет LGPLv2.1 +
KI18n Расширенная структура интернационализации Развитие,
Текст
LGPLv2.1 +
KIconThemes Поддержка тем значков Произведение искусства LGPLv2.1+
KIdleTime Мониторинг активности пользователей Рабочий стол LGPLv2.1 +
KImageFormats Плагины формата изображения для Qt Графика,
Данные
LGPLv2.1 +
KInit Средство запуска процессов для ускорения запуска приложений KDE Рабочий стол LGPLv2.1+
КИО Абстракция доступа к ресурсам и сети Общение,
Данные
LGPLv2.1 +
Киригами Плагины QtQuick для создания пользовательских интерфейсов на основе руководящих принципов пользовательского интерфейса KDE Мобильный,
QML
LGPLv2.1 +
KItemModels Модели для системы Qt Model / View Развитие LGPLv2.1+
KItemViews Дополнения виджетов для модели / представления Qt Виджеты,
Развитие
LGPLv2.1 +
KJobWidgets Виджеты для отслеживания экземпляров KJob Виджеты LGPLv2.1 +
KJS Поддержка сценариев JS в приложениях Интернет,
Сценарии
LGPLv2.1+
KJSEmbed Встроенный JS Интернет,
Сценарии
LGPLv2.1 +
KLFBackend Бэкэнд-библиотека KLatexFormula Графика,
Данные
GPLv2 +
KMediaPlayer Интерфейс плагина для функций медиаплеера Мультимедиа LGPLv2.1 +
KNewStuff Поддержка загрузки ресурсов приложения из сети Данные,
Общение
LGPLv2.1+
KNotification Абстракция для системных уведомлений Рабочий стол LGPLv2.1 +
KNotifyConfig Система конфигурации для KNotify Рабочий стол LGPLv2.1 +
KPackage Framework Библиотека для загрузки и установки пакетов небинарных файлов, поскольку они были плагином Развитие LGPLv2.1+
KParts Система плагинов, ориентированная на документы Виджеты LGPLv2.1 +
KPeople Предоставляет доступ ко всем контактам и людям, которые их держат Общение,
Данные
LGPLv2.1 +
KPlotting Легкая основа для построения графиков Графика LGPLv2.1+
KPrintUtils Диалоги печати Печать LGPLv2.1 +
КПты Pty абстракция Общение LGPLv2.1 +
kQOAuth OAuth 1.0 аутентификация Безопасность,
API
LGPLv2.1 +
KQuickCharts Модуль QtQuick, предоставляющий высокопроизводительные диаграммы. LGPLv2.1 +
Kross Написание сценариев многоязычных приложений Сценарии LGPLv2.1 +
KRunner Система параллельных запросов Рабочий стол LGPLv2.1 +
KService Расширенный самоанализ плагинов и сервисов Развитие LGPLv2.1+
KTextEditor Расширенный встраиваемый текстовый редактор Текст,
Виджеты
LGPLv2.1 +
KTextWidgets Виджеты расширенного редактирования текста Текст,
Виджеты
LGPLv2.1 +
KUnitConversion Поддержка преобразования единиц измерения Данные LGPLv2.1+
KWallet Framework Безопасный и единый контейнер для паролей пользователей Безопасность LGPLv2.1 +
KWayland Qt-style API для взаимодействия с wayland-client и wayland-server API Рабочий стол LGPLv2.1 +
KWidgetsAddons Дополнения к QtWidgets Виджеты LGPLv2.1+
KWindowSystem Доступ к оконной системе Рабочий стол LGPLv2.1 +
KXMLGUI Настраиваемые пользователем главные окна Виджеты LGPLv2.1 +
KXmlRpcClient Взаимодействие с сервисами XMLRPC Общение LGPLv2.1 +
Коммуни Фреймворк IRC

Общение BSD
LibEngsas Виджеты для технических приложений
Виджеты LGPLv2.1+
Libkexiv2 Привязки Qt для Exiv2, библиотеки для управления метаданными изображений Графика,
Привязки
GPLv2 +
Ласт фм Библиотека Qt C ++ для веб-сервисов Last.fm

API,
Мультимедиа
GPLv3
libmm-qt Оболочка Qt для ModemManager DBus API Общение,
Привязки
LGPL
libnm-qt Оболочка Qt для NetworkManager DBus API Общение,
Привязки
LGPL
libqemf Программа чтения изображений на основе Qt для метафайлов расширенного формата (*.ЭДС)

Графика GPLv3,
Коммерческий
QtLua Фреймворк для встраивания Lua в приложения Qt Сценарии LGPLv3 +
Qxt Классы утилит для Qt

Развитие,
Виджеты
BSD-3-Clause
LimeReport Механизм печати отчетов

Печать GPLv3 +,
LGPLv2.1+
Log4Qt Порт C ++ фреймворка логирования Log4j

Развитие,
логирование
Apache-2.0
Кошелек LXQt Безопасное хранение данных во внутренней системе хранения или в KDE KWallet или GNOME libsecret Безопасность BSD
Мрамор Мраморный виртуальный глобус
Виджеты LGPLv2.1
ModemManagerQt Оболочка Qt для ModemManager API Общение,
Привязки
LGPLv2.1 +
NetworkManagerQt Оболочка Qt для NetworkManager API Общение,
Привязки
LGPLv2.1 +
Noron Совместное использование удаленных объектов

Развитие GPLv3,
LGPLv3
орех Объектно-реляционный преобразователь для Qt5

Данные GPLv3,
LGPLv3
O2 Библиотека, инкапсулирующая OAuth 1.0 и 2.0 потоки аутентификации клиента Безопасность,
Привязки
Упрощенная лицензия BSD
Кислородные значки Тема значка кислорода Произведение искусства LGPLv2.1 +
PackageKit Привязки Qt для PackageKit, серверной части для управления установкой программного обеспечения Привязки GPLv2 +
Фонон Абстракция мультимедийной платформы Phonon Мультимедиа LGPLv2.0+
Plasma Framework Среда выполнения пользовательского интерфейса на основе плагинов, используемая для написания основных пользовательских интерфейсов Рабочий стол LGPLv2.1 +
Polkit-qt-1 Привязки Qt для PolicyKit Привязки LGPLv2.1 +
Попплер Привязки Qt для Poppler, библиотеки рендеринга PDF Привязки GPLv2 +
Тюрьма Уровень абстракции штрих-кода, обеспечивающий единый доступ к генерации штрих-кодов Графика,
Печать
LGPLv2.1+
PulseAudioQt Оболочка Qt для PulseAudio API Мультимедиа,
Привязки
LGPLv2.1 +
Цель Предлагает доступные действия для определенной цели Рабочий стол LGPLv2.1 +
PythonQt Платформа для встраивания Python в приложения Qt Привязки LGPLv2.1+
QCA Криптографическая архитектура Qt Безопасность LGPLv2.1 +
QCustomPlot Виджет построения для Qt Графика GPLv3 +
QDataCube Datacube для Qt
Данные,
Виджеты
LGPL
QDecimail Библиотека десятичной арифметики для Qt framework

Данные LGPL v2.1
QDjango ORM и структура HTTP-запросов / ответов

Интернет GPLv2.1 +
QHttpEngine HTTP-сервер и утилиты

Интернет Массачусетский технологический институт
Блиц KDE Библиотека эффектов изображения для KDE Графика BSD 3-пункт
QJson Парсер JSON для Qt Данные LGPL
qlogsystem qlogsystem — очень эффективная и простая в использовании библиотека логгеров
Развитие,
логирование
LGPLv2.1
QMarkdownTextEdit Виджет C ++ Qt QPlainTextEdit с выделением уценки и некоторыми другими полезностями.
Текст Массачусетский технологический институт
QMdnsEngine Библиотека Multicast DNS для Qt

Интернет Массачусетский технологический институт
QOAuth Библиотека для схемы авторизации OAuth Безопасность,
API
LGPL
QQC2StyleBridge Стиль QtQuickControls 2, который интегрируется с рабочим столом LGPLv2.1+
QScintilla Qt-порт элемента управления редактора Scintilla C ++


Текст GPLv2,
GPLv3,
Коммерческий
QSint Коллекция виджетов Qt с открытым исходным кодом

Виджеты LGPL
QSqlMigrator QSqlMigrator — отслеживайте миграции вашей базы данных
Данные LGPLv2.1,
GPLv3
QtGStreamer Привязки Qt для GStreamer Привязки,
Мультимедиа
LGPLv2.1 +
QtAccountsService API в стиле Qt для службы Freedesktop.org AccountsService DBus Развитие LGPLv3 +
QtArg Анализ командной строки Развитие Массачусетский технологический институт
QtAV Кросс-платформенный фреймворк для воспроизведения мультимедиа, основанный на Qt и FFmpeg.
Мультимедиа LGPLv2.1
QtDropbox Qt Dropbox
API LGPLv3 +
QtFFmpegWrapper Qt FFmpeg Wrapper для кодирования и декодирования видеокадров
Мультимедиа BSD-3-Clause
QtFirebase Попытка перенести API Firebase C ++ в Qt + QML

QML,
Мобильный,
API,
Данные
Массачусетский технологический институт
Qtilities Строительные блоки для приложений Qt Логирование,
Виджеты
GPLv3,
LGPLv2.1,
Коммерческий
Фреймворк установщика Qt Инструменты и утилиты для создания установщиков для поддерживаемых настольных платформ Qt.

Развитие LGPLv2.1 +
QtKeychain Независимый от платформы Qt API для безопасного хранения паролей
Безопасность BSD-2
QtPromise Реализация обещаний / A + для Qt / C ++ Данные,
Развитие
Массачусетский технологический институт
QtRPT Механизм отчетов

Печать Apache 2.0
QtWebApp Фреймворк веб-приложений, похожий на API сервлетов Java

Интернет LGPLv3
QtWebKit Qt-порт WebKit
Интернет GPLv3,
LGPLv2.1 +
QTweetLib Библиотека для доступа к Twitter Общение GPLv2
QuaZIP Оболочка Qt / C ++ для пакета ZIP / UNZIP Данные LGPLv3 +
Qwt Виджеты для технических приложений Виджеты,
Графика
Лицензия Qwt 1.0
QwtPlot3D Виджеты 3D-сюжета Графика zlib
QXmpp Клиентская и серверная библиотека XMPP Общение LGPL 2.1 или новее
QxOrm Объектно-реляционное отображение (ORM) на основе Qt
Данные GPLv3,
Коммерческий
Qyoto Моно-привязки для основных библиотек Qt Привязки LGPLv2.1+
Snorenotify Фреймворк уведомлений Snorenotify
Общение LGPLv3
Твердый Аппаратная интеграция и обнаружение Развитие LGPLv2.1 +
Сонет Поддержка проверки орфографии Текст LGPLv2.1 +
Сопрано Qt / C ++ RDF framework Данные LGPLv2.1+
Монета Qt интерфейс для библиотеки 3D визуализации Coin
Графика,
Привязки
GPL
SQLate типобезопасная поддержка SQL на основе шаблонов с использованием Qt
Данные LGPL
Синдикация Библиотека парсера RSS / Atom LGPLv2.1+
Подсветка синтаксиса Подсветка синтаксиса Текст LGPLv2.1 +
Задачи простая библиотека с одним заголовком, которая позволяет асинхронное программирование на Qt / C ++ с использованием задач и продолжений
Развитие BSD
Телепатия Привязки Qt для инфраструктуры связи Telepathy Привязки,
Общение
LGPLv2.1+
ThreadWeaver Платформа многопоточности высокого уровня Развитие LGPLv2.1 +
Древесная лягушка Фреймворк для разработки веб-приложений

Интернет BSD-3-Clause
Туфао Асинхронный веб-фреймворк для C ++, построенный поверх Qt
Интернет Библиотека: LGPLv2, Документация и примеры: MIT
VLC-Qt VLC-Qt — простая библиотека для подключения приложения Qt к libVLC

Привязки,
Мультимедиа
LGPLv3
Log4Qt Порт C ++ фреймворка логирования Log4j
Развитие,
логирование
Apache-v2.0
QextSerialPort Кроссплатформенный интерфейс для последовательных портов.

Общение Массачусетский технологический институт
QsLog Простой регистратор Qt Логирование,
Развитие
BSD-3-Clause
QtIOCContainer Фреймворк приложения, вдохновленный концепцией инверсии управления Развитие LGPLv2
Клиент Qt REST Qt REST Client Framework для работы JSON / XML API


Общение,
API
Массачусетский технологический институт
AdCtl Google Play Auth, архивы и рейтинги, AdMob и Analytics для Qt / QML на Android / iOS

Мобильный,
QML
Модифицированная BSD
libqinfinity Обертка Qt вокруг libinfinity, библиотеки для совместного редактирования Общение GPLv2 +
libsystemd-qt Оболочка только для Qt для Systemd API Привязки LGPLv3
Новиль Компонент редактора исходного кода для Qt Развитие,
Текст
GPL
osgQtQuick Модули OpenSceneGraph QML
Графика,
QML
LGPLv2.1+
QanMenuBar QanMenuBar — это легкий компонент динамического меню QML, похожий на PieMenu

QML GPLv3 +
QAudioCoder Библиотека для декодирования, кодирования и преобразования аудиофайлов Мультимедиа LGPLv3 +
QTermWidget Встраиваемый виджет консоли Виджеты LGPLv2 +
QtSharp Мононуклеоз/.Привязки .NET для Qt Развитие Apache-v2.0
QuickProperties QuickProperties — это библиотека C ++ / QML для просмотра и редактирования свойств QObject в Qt5.

QML GPLv3 +
QuickQanava QuickQanava — это библиотека рисования графиков C ++ / QML для Qt5.

Графика,
QML
GPLv3 +
Надстройка сертификата Qt Надстройка сертификата Qt Безопасность LGPLv2.1
Qt Xlsx Программа чтения и записи файлов .xlsx для Qt5

Данные Массачусетский технологический институт
cairoQPaintDevice Реализация QPaintDevice, использующая графическую библиотеку Cairo в качестве серверной части

Графика GPLv3 +
CTK Набор инструментов для биомедицинских вычислений изображений Графика,
Виджеты,
Данные
Апач-2.0
CuteTest Модульное тестирование Qt

Развитие LGPLv3 +,
BSD-3-пункт,
Apache-2.0
EasyQtSql Облегченная библиотека C ++ 11, содержащая только заголовки, для быстрого и простого выполнения запросов SQL с помощью QtSql.
Данные Массачусетский технологический институт
FF7tk Инструментарий для работы с данными из Final Fantasy 7

Данные GPLv3 +
KD отчеты Генератор отчетов

Печать LGPLv2.1+,
Коммерческий
Кодэ Библиотека генерации кода Развитие,
Данные
LGPLv2.1 +
TmdbQt Библиотека для запросов к API базы данных фильмов (themoviedb.org)
API,
Данные
LGPLv2.1 +
Тип пантомимы Бэкпорт API миметипов Qt 5 в Qt 4

Развитие LGPLv2.1,
GPLv3
neiasound Оболочка OpenAl для приложений и игр Qt Мультимедиа,
Привязки
BSD, 2 предложения
QDataCube Datacube для Qt
Данные,
Виджеты
LGPL
qdbf Библиотека для работы с файлами dbf Данные LGPLv2.1 +
QFB Клиентская библиотека для доступа к Facebook Graph API API GPLv3 +
QicsTable Высокопроизводительный виджет таблицы Qt

Виджеты,
Данные
GPLV3 +,
LGPLv2.1+,
Коммерческий,
Оценка
QJsonRpc Реализация протокола JSON-RPC Данные,
Общение
LGPLv2.1 +
QSerialDevice Кросс-платформенная библиотека для доступа к последовательным устройствам
Общение GPLv2 +
QSint Коллекция виджетов Qt с открытым исходным кодом

Виджеты LGPL
QSkinny легкая библиотека Qt UI

Развитие LGPLv2
QFtp Реализация FTP

Общение LGPLv2.1,
GPLv3,
Коммерческий
QtGamepad Чтение ввода с геймпадов Общение Массачусетский технологический институт
QtGoogleSpeech Библиотека для использования службы Google Speech API LGPL
QHttp Реализация HTTP

Интернет LGPLv2.1,
GPLv3,
Коммерческий
QtModeling Платформа для поддержки проектирования на основе моделей
Развитие LGPLv2.1,
GPLv3
qtoolbox Набор инструментов для разработки Qt

Данные,
логирование
Apache-2.0
qtoptimization Модуль для алгоритмов оптимизации
Развитие LGPLv2.1,
GPLv3
QtORM Объектно-реляционная модель, вдохновленная Django
Интернет,
Данные
LGPLv2.1
Клиент Qt REST Qt REST Client Framework для работы JSON / XML API


Общение,
API
Массачусетский технологический институт
QtRPT Механизм отчетов

Печать Apache 2.0
QtSpeech Кросс-платформенный API для доступа и использования системных систем преобразования текста в речь
Привязки,
Мультимедиа
LGPLv3 +
qTUIO Интерфейс к TUIO, протоколу для осязаемых мультисенсорных поверхностей Мобильный GPLv3 +
qtuiotouch Плагин Qt для устройств ввода TUIO Мобильный Массачусетский технологический институт
QtUnits Библиотека преобразования модулей времени выполнения Qt, построенная с использованием (и совместимая с) Boost :: Units.
Данные BSD, 2 предложения
QtVkontakte Qt-обертка вокруг Android SDK Вконтакте (https://vk.com, Российская социальная сеть) Мобильный GPL2
QtWebSockets Реализация клиента и сервера WebSockets в Qt.


Общение LGPLv2.1+

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *