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

OSCHINA-MIRROR/czyt1988-SARibbon

Клонировать/Скачать
how-to-build-cn.md 17 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 07:00 c98629d

Данный текст подробно описывает, как создать и внедрить SARibbon.

Подготовка

SARibbon использует QWindowkit в качестве безрамочного решения. Также поддерживается простое безрамочное решение. Если вам нужна поддержка окон операционной системы, например, обработка краёв Windows 7 и выше или эффект Snap Layout в Windows 11, рекомендуется включить библиотеку QWindowkit. Библиотека QWindowkit также может хорошо решить проблему с несколькими экранами.

Включение QWindowkit позволит достичь следующего эффекта:

  • Рисунок 1. Эффект от включения QWindowkit при использовании Snap Layout.

Чтобы включить QWindowkit, сначала необходимо скомпилировать библиотеку QWindowkit. Она будет использоваться как подмодуль проекта SARibbon. Если вы не указали параметр --recursive при клонировании git, вам нужно выполнить команду submodule update:

git submodule update --init --recursive

Компиляция библиотеки QWindowkit (если вы не включаете QWindowkit, пропустите этот шаг)

Библиотека QWindowkit предоставляет только способ компиляции с использованием cmake. Необходимо использовать cmake.

Для простоты в src/SARibbonBar/3rdparty есть файл CMakeLists.txt, который уже содержит необходимые настройки для этой библиотеки. Просто вызовите файл src/SARibbonBar/3rdparty/CMakeLists.txt для компиляции.

Использование Qt Creator и Visual Studio для сборки и установки библиотеки QWindowkit аналогично.

Сборка и установка библиотеки QWindowkit с помощью Qt Creator

Используйте Qt Creator для компиляции библиотеки QWindowkit. Откройте файл src/SARibbonBar/3rdparty/CMakeLists.txt с помощью Qt Creator.

Рисунок 2. Запуск Qt Creator.

Нажмите «Выполнить» (Ctrl+R).

Рисунок 3. Выбор режима запуска.

Переключитесь на режим проекта (Ctrl+5). Выберите опцию install после выбора опции all в Build Steps. Это позволит выполнить установку.

Рисунок 4. Установка библиотеки.

Снова нажмите «Выполнить».

Теперь вы увидите каталог установки, такой как bin_qt5.14.2_MSVC_x64, в корневом каталоге SARibbon. Библиотека QWindowkit автоматически устанавливается в этот каталог.

Рисунок 5. Каталог установки.

На этом компиляция и установка библиотеки QWindowkit завершены.

Сборка и установка библиотеки QWindowkit с помощью Visual Studio

Скомпилируйте библиотеку QWindowkit с помощью Visual Studio. Используйте Visual Studio, чтобы открыть CMake. Выберите файл src/SARibbonBar/3rdparty/CMakeLists.txt.

Рисунок 6. Открытие CMake в Visual Studio.

Выберите CMake -> All Build (некоторые версии могут не иметь меню CMake, в этом случае можно выбрать правой кнопкой мыши на файле CMakeLists.txt).

Рисунок 7. Сборка всех проектов.

Выберите CMake -> Install (некоторые версии могут не иметь меню CMake, в этом случае можно выбрать правой кнопкой мыши на файле CMakeLists.txt).

Различные версии Visual Studio могут иметь разные способы выполнения этих действий. Если у вас нет меню CMake, вы можете выбрать правой кнопкой мыши файл CMakeLists.txt.

Рисунок 8. Установка библиотеки.

После этого вы увидите каталог установки, такой как bin_qt5.14.2_MSVC_x64, в корневом каталоге SARibbon. Здесь библиотека QWindowkit устанавливается автоматически.

Рисунок 9. Каталог установки.

Компиляция и установка библиотеки QWindowkit завершена.

Использование командной строки для сборки (подходит для Qt5 и VS2019 и ниже)

Поскольку библиотека QWindowkit требует более высокой версии cmake, версия cmake, встроенная в VS2019 и более ранние версии, обычно не соответствует требованиям. Поэтому необходимо собрать библиотеку QWindowkit через командную строку. Здесь описывается, как собрать библиотеку QWindowkit через cmd в Windows.

Сначала установите более высокую версию инструмента cmake. Предположим, что он установлен в C:\Program Files (x86)\cmake3.27.9\bin\cmake.exe, и убедитесь, что вы знаете путь к вашей версии qt и компилятору. В этом примере используется Qt 5.14.2 MSVC 2017.

Найдите папку, где находится файл Qt5Config.cmake, например C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\cmake\Qt5.

Откройте командную строку и перейдите в каталог src/SARibbonBar/3rdparty. Сначала выполните следующую команду:

"C:\Program Files (x86)\cmake3.27.9\bin\cmake.exe" -B build -S . -G "Visual Studio 15 2017" -A x64 -DQt5_DIR="C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\cmake\Qt5"

Обычно ваш cmake.exe доступен без указания в переменной среды PATH, поэтому вы можете указать полный путь к cmake в командной строке. После выполнения вы увидите следующий вывод:

Рисунок 10. Вывод команды.

Затем выполните следующие две команды:

"C:\Program Files (x86)\cmake3.27.9\bin\cmake.exe" --build build --target install --config Debug
"C:\Program Files (x86)\cmake3.27.9\bin\cmake.exe" --build build --target install --config Release

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

Библиотека SARibbonBar предоставляет два способа сборки: cmake и qmake. Рекомендуется использовать cmake.

Qt6 больше не поддерживает qmake и постепенно переходит на cmake. Будущие версии SARibbon могут исключить поддержку qmake.

Построение библиотеки SARibbonBar на основе CMake

В Visual Studio на основе cmake

Если вы хотите включить QWindowKit, измените значение параметра SARIBBON_USE_FRAMELESS_LIB на ON в файле CMakeLists.txt.

Щелкните File -> Open -> CMake и выберите файл CMakeLists.txt.

Рисунок 11. Открытие файла CMakeLists.txt в Visual Studio.

Будет сформировано дерево сборки.

Рисунок 12. Дерево сборки в Visual Studio.

Непосредственно выберите CMake -> Build All (некоторые версии могут не иметь меню CMake, в этом случае вы можете выбрать его правой кнопкой мыши на файле CMakeLists.tx).

Все сборки завершены, выберите CMake -> Install -> SARibbon (некоторые версии могут не иметь меню CMake, в этом случае вы можете выбрать его, щёлкнув правой кнопкой мыши по файлу CMakeLists.tx).

Здесь вы увидите новый каталог файлов, созданный в корне исходного кода. Имя каталога формируется следующим образом: bin_qt{version}_[MSVC/GNU]_x[64/86]. Вы можете использовать каталог по умолчанию или установить SARIBBON_INSTALL_IN_CURRENT_DIR=OFF, чтобы изменить местоположение установки: SARIBBON_INSTALL_IN_CURRENT_DIR=OFF.

Рисунок 13. Каталог установки в Visual Studio.

На основе cmake в Qt Creator

Щелкните File->Open File or Project и выберите файл CMakeLists.txt. После загрузки будет сформировано дерево сборки.

Qt Creator позволяет изменять значение SARIBBON_USE_FRAMELESS_LIB в интерфейсе или вручную. В Qt Creator переключитесь на проектный режим (Ctrl + 5), как показано на рисунке ниже. В Current Configuration установите SARIBBON_USE_FRAMELESS_LIB равным ON, чтобы включить QWindowKit. Перед этим необходимо скомпилировать QWindowkit.

Рисунок 14. Включение QWindowkit в Qt Creator.

Нажмите кнопку Run.

Выполнение завершено, появится окно примера. Нажмите на левую панель, Build Steps, выберите install. Снова нажмите кнопку «Выполнить», после этого вы увидите, что в корневом каталоге исходного кода появилась новая папка. Папка будет называться bin_qt{version}_[MSVC/GNU]_x[64/86] (при условии, что вы не меняли CMAKE_INSTALL_PREFIX).

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

Построение SARibbonBar на основе QMake

Чтобы собрать SARibbonBar с помощью Qt Creator, достаточно открыть файл SARibbon.pro.

Обратите внимание: если при открытии файла SARibbon.pro в Qt Creator появляется сообщение об ошибке, возможно, у вашей учётной записи недостаточно прав на запись. В разных версиях Qt Creator и на разных операционных системах ошибка может проявляться по-разному. Рекомендуется использовать cmake.

Сборка SARibbonBar с использованием cmake

Сначала необходимо скомпилировать и выполнить установку через cmake, а затем выполнить следующие шаги в файле CMakeLists.txt вашего проекта:

  1. Укажите каталог установки SARibbonBar, установив местоположение папки lib/cmake/SARibbonBar в переменную SARibbonBar_DIR (cmake сначала проверяет наличие переменной xx_DIR при выполнении find_package(xx), и если она есть, то ищет файл xxConfig.cmake в xx_DIR).
set(SARibbonBar_DIR "C:\src\Qt\SARibbon\bin_qt5.14.2_MSVC_x64\lib\cmake\SARibbonBar")
  1. Используйте функцию find_package для поиска файла конфигурации SARibbonBar. Эта функция фактически вызывает файл SARibbonBarConfig.cmake из папки lib/cmake/SARibbonBar и устанавливает пути включения, предопределённые макросы и необходимые библиотеки. Здесь SARibbonBar_INCLUDE_DIR — это путь к файлам включения SARibbonBar.
find_package(SARibbonBar)
  1. Наконец, добавьте библиотеку SARibbonBar к вашему проекту с помощью функции target_link_libraries. Здесь ${myapp_target_name} — это имя цели вашего проекта.
target_link_libraries(${myapp_target_name} PUBLIC
    SARibbonBar
)

Сборка SARibbonBar на базе qmake

Рекомендуется использовать cmake вместо qmake для Qt 6 и более поздних версий.

Процесс компиляции qmake создаст папку bin_qt{Qt version}_{MSVC/GNU}_x{32/64} в каталоге SARibbon, где находятся библиотеки и файлы DLL. Файл importSARibbonBarLib.pri автоматически добавит эти библиотеки в ваш проект. Перед добавлением библиотек необходимо выполнить настройку, которая находится в файле common.pri.

Шаги настройки:

  1. Создайте папку 3rdparty в вашем проекте и скопируйте туда весь каталог SARibbon.

Файл importSARibbonBarLib.pri содержит инструкции по добавлению зависимостей и файлов заголовков в соответствии со структурой каталога SARibbon. Если вам нужно изменить структуру каталогов, вы можете обратиться к этому файлу.

  1. Настройте файл common.pri в соответствии с вашей конфигурацией сборки. В настоящее время доступны следующие опции:
# SA_RIBBON_CONFIG+=use_frameless
# Этот параметр использует frameless стороннюю библиотеку. Этот параметр автоматически определяется в SARibbonBar.pri и зависит от требований к использованию frameless.
# frameless библиотека должна поддерживать C++17 и доступна только для нескольких версий qt (например, qt5.14, qt5.15, qt6.4 и выше).
# В версиях qt, отличных от перечисленных, SA_RIBBON_CONFIG не включает use_frameless.
# Библиотека frameless позволяет реализовать отображение в Ubuntu и mac, а также поддерживает многоэкранный режим.
# Для использования frameless библиотеки необходимо определить каталог установки QWindowKit, который по умолчанию находится в SARIBBON_BIN_DIR.
# SA_RIBBON_QWindowKit_Install_DIR = $$SARIBBON_BIN_DIR
# 
# SA_RIBBON_CONFIG+=enable_snap_layout
# Эта опция позволяет включить эффект макета snap в Windows 11. В настоящее время он отображается правильно в версии qt6.5, но в других известных версиях qt может быть смещение.
# Эта опция действительна только при использовании SA_RIBBON_CONFIG+=use_frameless.

В зависимости от вашей ситуации удалите комментарии и настройте параметры.

  1. Добавьте следующую строку в файл pro вашего Qt проекта, чтобы включить его:
include($$PWD/3rdparty/SARibbon/importSARibbonBarLib.pri)

Структура вашего проекта теперь должна выглядеть примерно так:

|-[you-project-dir]
|  |-you-project.pro
|  |-[3rdparty]
|     |-[SARibbon](скопируйте весь каталог SARibbon сюда)
|        |-importSARibbonBarLib.pri (этот файл является ключевым файлом для импорта в ваш qmake проект и фактически импортирует SARibbonBar.pri)
|        |-SARibbonBar.pri (используется для добавления библиотек и зависимостей)
|        |-common.pri (здесь находится ваша конфигурация)
|        |-[bin_qtx.x.x_{MSVC/GNU}_x{32/64}]
|        |-[src]
|        |   |-[SARibbonBar]

Файлы importSARibbonBarLib.pri, SARibbonBar.pri и common.pri являются ключевыми файлами для включения в проект.

Для проектов Qt рекомендуется использовать cmake вместо qmake начиная с версии Qt 6.0.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/czyt1988-SARibbon.git
git@api.gitlife.ru:oschina-mirror/czyt1988-SARibbon.git
oschina-mirror
czyt1988-SARibbon
czyt1988-SARibbon
master