SARibbon库的引入¶
直接引入¶
直接引入只需把SARibbon.h和SARibbon.cpp添加到工程里即可,此时默认是不开启qwk,如果你需要开启qwk,那么需要做如下处理:
-
添加预定义宏
-
设置
SARIBBON_USE_3RDPARTY_FRAMELESSHELPER为1 - 设置
SARIBBON_ENABLE_SNAP_LAYOUT为1
如果是使用qmake,那么在pro文件中添加如下内容:
1 2 3 | |
如果使用vsproj
你你可如下操作:
- 右键点击项目 → 属性 (Properties)
- 选择 C/C++ → 预处理器 (Preprocessor)
- 在 预处理器定义 (Preprocessor Definitions) 中添加宏
基于cmake引入SARibbon库¶
基于cmake引入SARibbon库,首先要通过cmake编译SARibbon并执行安装
安装后在自己的工程CMakeLists.txt按照如下步骤执行:
1. 指定SARibbon的安装目录¶
把安装目录下的lib/cmake/SARibbonBar位置设置给SARibbonBar_DIR变量(CMake在执行find_package(xx)时,会先查看是否有xx_DIR变量,如果有,会先查询xx_DIR下是否有对应的xxConfig.cmake文件)
例如:
1 | |
2. 使用find_package加载库¶
使用find_package加载库,find_package会找到SARibbonBar的Config文件,这个函数实际上是调用lib/cmake/SARibbonBar/SARibbonBarConfig.cmake文件,这里会把需要include的路径、预定义的宏,和需要添加的库给指定好,此时SARibbonBar_INCLUDE_DIR就是SARibbonBar的include文件路径
1 | |
3. 链接到项目¶
最后在cmake中调用target_link_libraries添加SARibbonBar库到自己的工程中,这里${myapp_target_name}是自己工程的target名字
1 2 3 | |
基于qmake引入SARibbon库¶
警告
Qt6开始,不再推荐使用qmake,SARibbon未来的版本有可能会取消qmake的支持
qmake的编译过程会在SARibbon下生成bin_qt{Qt version}_{MSVC/GNU}_x{32/64}文件夹,库文件和dll文件都在此文件夹下,importSARibbonBarLib.pri会自动把这个文件夹下的库引用进来,在引入之前需要先进行配置,配置内容位于common.pri中
步骤如下:
1. 工程拷贝¶
先在你的工程中建立一个3rdparty文件夹,再把整个SARibbon文件夹拷贝过去
SARibbon内部已经有几个pri文件可以很方便的让你把工程引入到自己目录中,
./importSARibbonBarLib.pri文件就是用于引入SARibbon库的
importSARibbonBarLib.pri文件按照本库目录结构引入了依赖和头文件,如果你自己需要调整目录结构,可参考此文件进行修改
2. 配置common.pri文件¶
按照你实际的库的编译情况,配置SARibbon/common.pri文件,目前可选配置如下:
1 2 3 4 5 6 7 8 9 10 11 | |
你根据实际情况打开配置项(把注释去掉)
3. pro文件引入¶
在自己的Qt工程pro文件中加入如下语句即可
1 | |
此时你的工程目录结构大致如下:
1 2 3 4 5 6 7 8 9 10 | |
importSARibbonBarLib.pri、SARibbonBar.pri、common.pri这三个文件是引入工程的关键文件
再次声明
Qt6.0版本后已经放弃qmake,建议使用cmake来管理工程
静态库的引入¶
如果你编译时使用静态编译,(cmake中把SARIBBON_BUILD_STATIC_LIBS设置为ON),引入方法和动态库一样,但在程序的main函数中应该手动进行资源初始化,否则会找不到资源
1 2 3 4 5 6 7 8 9 10 | |
公开的预定义宏¶
SARibbon在编译过程中有些预定义宏,这些宏在基于visual studio的库引入是必须的
SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1/0,此宏用来定义是否引入了QWindowkit库
SARIBBON_ENABLE_SNAP_LAYOUT=1/0,此宏在SARIBBON_USE_3RDPARTY_FRAMELESSHELPER=1时才有用,用于定义是否开始windows11的snap layout效果