This document will detail how to build and introduce SARibbon.
SARibbon uses QWindowkit as a borderless solution, while also supporting a simpler approach. If you require native window support from the operating system, such as edge sticking in Windows 7 or later, and hover effects on the maximize button in Windows 11, it is recommended to enable the QWindowkit library. The QWindowkit library can also better handle multi-screen movement issues.
Enabling QWindowkit will achieve the following effects:
If you want to enable QWindowkit, you need to first compile the QWindowkit library. As the QWindowkit library is a submodule of the SARibbon project, if you did not include the --recursive
parameter during git clone
, you need to execute the submodule update
command:
git submodule update --init --recursive
QWindowkit
library provides only cmake compilation method, and cmake must be used.
For simplicity, a CMakeLists.txt
file is provided under src/SARibbonBar/3rdparty
, which has already set up the necessary configurations for this library. Simply call the src/SARibbonBar/3rdparty/CMakeLists.txt
file to compile.
Building with Qt Creator is similar to using Visual Studio.
Compile the QWindowkit
library using Qt Creator by directly opening the src/SARibbonBar/3rdparty/CMakeLists.txt
file.
Click run (Ctrl+R).
Switch to the Projects mode (Ctrl+5).
Select the 'install' option for the build step.
Click run again (Ctrl+R).
You will now see an installation directory like bin_qt5.14.2_MSVC_x64
in the SARibbon root directory. The QWindowkit
library is automatically installed in this directory.
This completes the compilation and installation of the QWindowkit
library.
Compile the QWindowkit
library using Visual Studio by opening CMake and selecting the src/SARibbonBar/3rdparty/CMakeLists.txt
file.
Select CMake menu->Generate All.
Select CMake menu->Install.
You will now see an installation directory like bin_qt5.14.2_MSVC_x64
in the SARibbon root directory. The QWindowkit
library is automatically installed in this directory.
This completes the compilation and installation of the QWindowkit
library.
SARibbonBar library provides two ways to build: cmake and qmake. It is recommended to use cmake.
To enable QWindowKit
, manually set the value of the SARIBBON_USE_FRAMELESS_LIB
option to ON in the CMakeLists.txt file:
option(SARIBBON_USE_FRAMELESS_LIB "Using the QWindowKit library as a frameless solution" ON)
Open file->Open->CMake and select CMakeLists.txt.
The build tree will look like this:
Click CMake menu->Generate All.
After generation, click CMake menu->Install->SARibbon.
You will see a new folder in the root directory named bin_qt{version}_{MSVC/GNU}_x{64/86}
(assuming you did not change CMAKE_INSTALL_PREFIX).
Click File->Open File or Project and select CMakeLists.txt. Once loaded, the project tree will appear as follows:
In Qt Creator, you can modify the value of SARIBBON_USE_FRAMELESS_LIB
in the interface or manually. Switch to the Projects mode (Ctrl+5), navigate to Current Configuration, and set SARIBBON_USE_FRAMELESS_LIB
to ON to enable QWindowKit
, assuming you have compiled QWindowKit
first.
Click the run button.
After completion, a sample window will pop up. Click the Build steps in the sidebar, and select install.
Click run again, and you will see a new folder in the root directory named bin_qt{version}_{MSVC/GNU}_x{64/86}
(assuming you did not change CMAKE_INSTALL_PREFIX).
All contents related to using SARibbon are located in this folder.
Building SARibbonBar with qmake only requires opening the SARibbon.pro file in Qt Creator.
Note: If there are errors during the process of opening the SARibbon.pro file in Qt Creator, your account may lack sufficient write permissions. Different versions of Qt Creator exhibit different behaviors on different operating systems. It is recommended to use cmake.
First, compile and install SARibbonBar using cmake in your project:
- Specify the SARibbonBar installation directory and set the
SARibbonBar_DIR
variable to point to thelib/cmake/SARibbonBar
location in the installation directory.
set(SARibbonBar_DIR "C:\src\Qt\SARibbon\bin_qt5.14.2_MSVC_x64\lib\cmake\SARibbonBar")
- Use
find_package
to locate the SARibbonBar Config file. This function actually calls thelib/cmake/SARibbonBar/SARibbonBarConfig.cmake
file, which sets up the necessary include paths, predefined macros, and libraries to add. At this point,SARibbonBar_INCLUDE_DIR
is the path to the SARibbonBar include files.
find_package(SARibbonBar)
- Finally, use
target_link_libraries
to add the SARibbonBar library to your project. Here,${myapp_target_name}
is the target name of your project.
target_link_libraries(${myapp_target_name} PUBLIC
SARibbonBar
)
During the qmake compilation process, a bin_qt{Qt version}_{MSVC/GNU}_x{32/64}
folder will be generated under SARibbon, containing library and dll files. The importSARibbonBarLib.pri
file will automatically reference the libraries in this folder.
Follow these steps:
- Create a
3rdparty
folder in your project and copy the entire SARibbon folder into it.
Inside SARibbon, there are several
.pri
files that can easily integrate the project into your directory. TheimportSARibbonBarLib.pri
file is used to import the SARibbon library.
- Add the following statement to your project's Qt project pro file:
include($$PWD/3rdparty/SARibbon/importSARibbonBarLib.pri)
Your project directory structure should look roughly like this:
|-[you-project-dir]
| |-you-project.pro
| |-[3rdparty]
| |-[SARibbon](Copy SARibbon entirely here)
| |-importSARibbonBarLib.pri
| |-SARibbonBar.pri
| |-common.pri
| |-[bin_qtx.x.x_{MSVC/GNU}_x{32/64}]
| |-[src]
| | |-[SARibbonBar]
These three files (importSARibbonBarLib.pri
, SARibbonBar.pri
, common.pri
) are crucial for integrating the project.
Note: Starting from Qt 6.0, qmake has been abandoned. It is recommended to use cmake to manage projects.