![]() |
SARibbon 2.2.3
SARibbon wiki
|
此文会详细介绍如何构建和引入SARibbon
SARibbon使用了QWindowkit作为无边框方案,同时也支持简单的无边框方案,如果你需要操作系统原生的窗口支持,如windows7以后的贴边处理,windows11的Snap Layout效果,建议开启QWindowkit库,QWindowkit库还能较好解决多屏幕移动问题
开启QWindowkit将能实现如下效果:
如果你要开启QWindowkit,需要先编译QWindowkit库,QWindowkit库作为SARibbon项目的submodules,如果在git clone
时没有附带--recursive
参数,需要执行submodule update
命令:
QWindowkit
库只提供了cmake的编译方式,必须使用cmake
为了简单,在src/SARibbonBar/3rdparty
下提供了一个CMakeLists.txt
文件,已经对此库的必要配置进行了设置,直接调用src/SARibbonBar/3rdparty/CMakeLists.txt
文件编译即可
使用Qt Creator和使用visual studio构建和安装基本一样
使用qt creator编译QWindowkit
库,直接用qt creator打开src/SARibbonBar/3rdparty/CMakeLists.txt
文件
点击运行(Ctrl+R)
切换到项目模式(Ctrl+5)
build步骤选择install
再点击运行(Ctrl+R)
这时你会在SARibbon根目录下看到形如bin_qt5.14.2_MSVC_x64
这样的安装目录,这里自动把QWindowkit
库安装在此目录下
此时完成QWindowkit
库的编译和安装
使用visual studio编译QWindowkit
库,用visual studio打开->CMake,选择src/SARibbonBar/3rdparty/CMakeLists.txt
文件
选中CMake菜单->全部生成(有些版本没有CMake菜单,可以在CMakeLists.txt点右键)
选中CMake菜单->安装(有些版本没有CMake菜单,可以在CMakeLists.txt点右键)
不同的vs操作有点不一样,没有CMake菜单的,可以在CMakeLists.txt点右键
这时你会在SARibbon根目录下看到形如bin_qt5.14.2_MSVC_x64
这样的安装目录,这里自动把QWindowkit
库安装在此目录下
此时完成QWindowkit
库的编译和安装
SARibbonBar
库提供cmake
和qmake
两种方式构建,推荐使用cmake
qt6之后不再维护
qmake
,逐渐转移到cmake
中,SARibbon
的未来版本不排除移除qmake
CMake
构建SARibbonBar
库cmake
的构建如果要开启QWindowKit
,在CMakeLists.txt
中把SARIBBON_USE_FRAMELESS_LIB
的option值手动改为ON
点击文件->打开->Cmake 选中CMakeLists.txt
将会形成如下的构建树
直接点击CMake菜单->全部生成
全部生成完成后,CMake菜单->安装->SARibbon
这时候你会看到源码的根目录下多出一个文件夹,文件夹命名方式为bin_qt{version}_[MSVC/GNU]_x[64/86]
(前提是你没有改变CMAKE_INSTALL_PREFIX)
点击文件->打开文件或项目选中CMakeLists.txt,加载完成后形成如下的构建树
Qt Creator可以在界面修改SARIBBON_USE_FRAMELESS_LIB
值,也可以手动修改,在Qt Creator中,点击左侧边,切换到项目模式(Ctrl+5),如下图,在Current Configuration中设置SARIBBON_USE_FRAMELESS_LIB
为ON即可开启QWindowKit
,前提是要先编译QWindowKit
点击运行按钮
运行结束,会弹出例子窗口,点击左侧边栏的项目标签,Build的步骤,选中install
再次点击运行按钮,这时候你会看到源码的根目录下多出一个文件夹,文件夹命名方式为bin_qt{version}_[MSVC/GNU]_x[64/86]
(前提是你没有改变CMAKE_INSTALL_PREFIX)
使用SARibbon的所有内容都在这个文件夹下
qmake构建SARibbonBar只需使用Qt Creator打开SARibbon.pro
文件即可
注意,如果使用Qt Creator打开
SARibbon.pro
文件过程报错,那么你的账户可能是没有足够的写权限,不同版本的Qt Creator在不同操作系统由不一样的表现,建议使用cmake
首先要通过cmake编译并执行安装,在自己的工程CMakeLists.txt按照如下步骤执行:
lib/cmake/SARibbonBar
位置设置给SARibbonBar_DIR
变量(CMake在执行find_package(xx)
时,会先查看是否有xx_DIR
变量,如果有,会先查询xx_DIR
下是否有对应的xxConfig.cmake
文件)lib/cmake/SARibbonBar/SARibbonBarConfig.cmake
文件,这里会把需要include的路径、预定义的宏,和需要添加的库给指定好,此时SARibbonBar_INCLUDE_DIR
就是SARibbonBar的include文件路径target_link_libraries
添加SARibbonBar库到自己的工程中,这里${myapp_target_name}是自己工程的target名字Qt6开始,不再推荐使用
qmake
,SARibbon未来的版本有可能会取消qmake的支持
qmake的编译过程会在SARibbon下生成bin_qt{Qt version}_{MSVC/GNU}_x{32/64}
文件夹,库文件和dll文件都在此文件夹下,importSARibbonBarLib.pri会自动把这个文件夹下的库引用进来,在引入之前需要先进行配置,配置内容位于common.pri
中
步骤如下:
3rdparty
文件夹,再把整个SARibbon
文件夹拷贝过去SARibbon内部已经有几个pri文件可以很方便的让你把工程引入到自己目录中,
./importSARibbonBarLib.pri
文件就是用于引入SARibbon库的
importSARibbonBarLib.pri文件按照本库目录结构引入了依赖和头文件,如果你自己需要调整目录结构,可参考此文件进行修改
按照你实际的库的编译情况,配置SARibbon/common.pri文件,目前可选配置如下:
你根据实际情况打开配置项(把注释去掉)
此时你的工程目录结构大致如下:
importSARibbonBarLib.pri
、SARibbonBar.pri
、common.pri
这三个文件是引入工程的关键文件
再次声明:Qt6.0版本后已经放弃qmake,建议使用cmake来管理工程
SARibbon在编译过程中有些预定义宏,这些宏在基于visual studio的库引入是必须的
SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1/0
,此宏用来定义是否引入了QWindowkit
库
SARIBBON_ENABLE_SNAP_LAYOUT=1/0
,此宏在SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1时才有用,用于定义是否开始windows11的snap layout效果