Сборник часто используемых кодов бэкенд Qt для последующего использования.
Коды должны быть проверены в реальных проектах.
Исходный репозиторий на GitHub https://github.com/jaredtao/TaoCommon
Зеркальный репозиторий на Gitee https://gitee.com/jaredtao/TaoCommon
Windows | Ubuntu | MacOS | Android | iOS |
---|---|---|---|---|
По папкам
Шаблон логгера, взят из проекта TaoLogger
Шаблоны многопоточности Qt, взятые из проекта TaoThread.
Включает реализацию модели Worker-Controller для многопоточной работы с Qt.
Некоторые общие фрагменты кода. |Файл|Описание| |----|--------------------------------| |FileReadWrite.h|Чтение и запись файлов, чтение и запись JSON| |Package.h|Упаковка и распаковка данных через простой сокет| |JsonSerialize.h|Макросы для сериализации и десериализации JSON| |PropertyHelper.h|Макросы для быстрого создания Q_PROPERTIES| |Subject.h|Шаблон наблюдателя| |ObjectMap.h|Хранилище объектов; приоритетное хранилище объектов. Основное применение - реализация "инжектирования зависимостей"|Можно обратиться к проекту TaoQuick
Простой безрамочный оконный компонент с поддержкой эффекта Windows Aero
Можно обратиться к проекту TaoQuick
Динамическое переведение Qt.
Загрузка пользовательских файлов перевода в формате JSON.
Поддерживает динамическую смену языков.
Для QWidget можно использовать нормально.
Для QML, до версии Qt 5.10, используется метод trans.transString для активации динамической смены языка, а начиная с версии 5.10, используется метод reTranslate.
Можно обратиться к проекту TaoQuick
Пользовательский ListModel для поддержки больших таблиц данных и древовидной структуры.
Можно обратиться к проекту TaoQuick
Просто включите файл TaoCommon.pri в вашем проекте,include(TaoCommon/src/TaoCommon/TaoCommon.pri)
Вы можете скопировать внутреннюю папку TaoCommon из пути "TaoCommon/src/TaoCommon" в любое место,
и добавьте соответствующий файл TaoCommon.pri в вашем проекте, используйте его, включив нужные заголовочные файлы.
Можно обратиться к примеру demo/CommonWithSource
TaoCommon сам является модулем Qt и может быть установлен через команду make install
.
(Установка модулей Qt требует Perl)
Необходимо выполнить следующие команды:
qmake
make
make install
Также можно установить через Qt Creator:
Откройте проект TaoCommon в Qt Creator, добавьте шаг установки make install
в разделе "Проект -> Шаги сборки".
![См. doc/QtCreatorInstall.png]
После завершения установки, добавьте QT += TaoCommon
в вашем pro файле проекта для импорта модуля, используйте его, включив нужные заголовочные файлы.
Обратите внимание на совместимость версий Qt, используемых при компиляции TaoCommon и вашего проекта, чтобы избежать ошибок при отсутствии модуля.
Можно обратиться к примеру demo/CommonWithModule
При выпуске программы необходимо добавить файл QTDIR/bin/TaoCommon.dll
Использование исходного кода позволяет легко внедрять, но увеличивает время компиляции.
Установка как модуля Qt позволяет избегать повторной компиляции, но требует внимательного отношения к совместимости версий Qt и необходимости добавления dll при выпуске.### Использование CMake с исходным кодом
Добавьте путь TaoCommon в CMake с помощью команды add_subdirectory
.
add_subdirectory(${CMAKE_SOURCE_DIR}/3rdparty/TaoCommon ${CMAKE_SOURCE_DIR}/build/3rdparty/TaoCommon)
Добавление этого пути обеспечивает доступ к двум макросам TaoCommonPath
и TaoCommonFiles
. Добавьте TaoCommonPath
в пути заголовочных файлов. Добавьте TaoCommonFiles
в exec_execute
.
Пример:
add_executable(${TargetName}
${OtherSourceFiles}
${TaoCommonFiles}
)
target_include_directories(${TargetName} PUBLIC . ${TaoCommonPath})
Автор: Вэньвэй Тао
Приглашаю вас связаться со мной; я с удовольствием предоставлю консультационные услуги по технологии, а также буду рад обсудить вопросы технической поддержки и бизнес-сотрудничества.
Электронная почта: jared2020@163.com
WeChat: xsd2410421
QQ: 759378563
Приглашаю подписаться на мой WeChat-канал: Qt-путь продвинутого пользователя
Наш канал будет регулярно публиковать высококачественные учебные материалы по теме Qt.
Приглашаю присоединиться к моей QQ-группе: Qt-путь продвинутого пользователяЭта группа — это место для высококачественного общения, где множество известных людей из мира Qt. Здесь нет лишней болтовни, мы будем обсуждать технологии, делиться книгами и помогать решать практические проблемы.1 группа: 734623697
2 группа: 342341405
Если вам понравились мои материалы, то пригласите меня выпить чай!
Благодарю следующих пользователей за их поддержку и спонсорство (порядок нумерации случайный):
hxhlb (Хуашин Чунцзу)
Xianyu Hou
Qt-мастер Liu Dianwu
Yi Quer Liuerli
Дацу
Шелк Zheng Tianzuo
Хансань Жучжэн
Xiaofengdz
Qt Юнци
Пиратское судно
Ю Тяньши
Рэйдж
Чунцин Ху Моумо
Айви
Сун Шийшао
Цзян Ю
Мощность
Ганган
Куйяо Уэнг
Бай Цай Дуфу
Цзян Булак
Лансесянгчжан
Мартин Цзоу
Виндсмун
Сяошоубинглиан
Ивэнь = Ву Жэдиан
Ван Даогоу
Мили Лвью
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )