1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jaredtao-TaoCommon

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

TaoCommon

Введение

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

Коды должны быть проверены в реальных проектах.

Исходный репозиторий на GitHub https://github.com/jaredtao/TaoCommon

Зеркальный репозиторий на Gitee https://gitee.com/jaredtao/TaoCommon

CI

Windows Ubuntu MacOS Android iOS
win-badge ubuntu-badge macos-badge android-badge ios-badge

Содержание

По папкам

Logger

Шаблон логгера, взят из проекта TaoLogger

Thread

Шаблоны многопоточности Qt, взятые из проекта TaoThread.

Включает реализацию модели Worker-Controller для многопоточной работы с Qt.

Common

Некоторые общие фрагменты кода. |Файл|Описание| |----|--------------------------------| |FileReadWrite.h|Чтение и запись файлов, чтение и запись JSON| |Package.h|Упаковка и распаковка данных через простой сокет| |JsonSerialize.h|Макросы для сериализации и десериализации JSON| |PropertyHelper.h|Макросы для быстрого создания Q_PROPERTIES| |Subject.h|Шаблон наблюдателя| |ObjectMap.h|Хранилище объектов; приоритетное хранилище объектов. Основное применение - реализация "инжектирования зависимостей"|Можно обратиться к проекту TaoQuick

FrameLess

Простой безрамочный оконный компонент с поддержкой эффекта Windows Aero

Можно обратиться к проекту TaoQuick

Trans

Динамическое переведение Qt.

Загрузка пользовательских файлов перевода в формате JSON.

Поддерживает динамическую смену языков.

Для QWidget можно использовать нормально.

Для QML, до версии Qt 5.10, используется метод trans.transString для активации динамической смены языка, а начиная с версии 5.10, используется метод reTranslate.

Можно обратиться к проекту TaoQuick

QuickModel

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

Можно обратиться к проекту TaoQuick


Способ использования

Использование (1) — использование исходного кода

Просто включите файл TaoCommon.pri в вашем проекте,include(TaoCommon/src/TaoCommon/TaoCommon.pri)

Вы можете скопировать внутреннюю папку TaoCommon из пути "TaoCommon/src/TaoCommon" в любое место,

и добавьте соответствующий файл TaoCommon.pri в вашем проекте, используйте его, включив нужные заголовочные файлы.

Можно обратиться к примеру demo/CommonWithSource

Использование (Метод 2) - установка как модуля Qt

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 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jaredtao-TaoCommon.git
git@api.gitlife.ru:oschina-mirror/jaredtao-TaoCommon.git
oschina-mirror
jaredtao-TaoCommon
jaredtao-TaoCommon
master