2024年3月8日:用了两小时,终于摸索出来了。自己也是无语了,网上就没找到一个合适的教程。
2024年7月18日:二刷发现了自己的无知,原来并不是网上没有教程,而是自己当时的检索方式是存在问题的,网上其实很多这样的教程,但是对于新手来说,可能没有想过要用别人的库干点啥
1 参考教程:
这个教程教了怎么导入qt-material-widget库
这个教程有好几个系列,也可以参考
2 理论篇
第三方库就是别人写的东西,我们拿来调用。
Include
是头文件文件夹,包含了所需要函数的定义
lib
是静态链接库,bin
是动态链接库:可以理解为lib
和bin
都是对这些第三方库的函数实现
MSVC编译器生成后缀为.lib
的文件,MinGW编译器生成后缀为.a
的文件
下面以移植qt-material-widget静态库为例
3 第三方库文件移植
以移植 GitHub 上的
qt-material-widgets
项目为例,移植三方库到自己的项目中并使用
-
在 Qt 项目目录下创建一个新的文件,我这里命名为
PriTest
-
进入 PriTest 文件,再创建两个文件夹:
include
lib
,新建一个文件Qmaterial.pri
-
首先
release
运行qt-material-widgets-master
一遍这个项目,然后再找到.a
文件,将其复制到PriTest/lib
文件夹下
-
将
qt-material-widgets-master
项目文件夹中的.h
文件和lib
文件夹复制到PriTest/include
文件夹内
-
编写
Qmaterial.pri
文件
# 指名Qt-Material库所对应的头文件所在目录
INCLUDEPATH += $$PWD/include
# 指明依赖库关系
LIBS += $$PWD/lib/libcomponents.a
- 在 Qt 项目中的
.pro
文件中写入代码,然后重新构建项目
include(./PriTest/Qmaterial.pri)
然后就可以调用了。
2 使用 Material 库函数
既然都用 Qt 了,肯定还是习惯用拖拉控件的方式开发界面了,所以下面还是用拖拉界面的方式开发界面。(这部分参考了第一个视频教程)
- 进入
.ui
文件中,然后拖入PushButton
和LineEdit
控件 - 在右侧对象属性栏中右击
QPushButton
然后选中提升为...
然后再运行就能看到自己替换成功了。(带有动画啥的)
4 其他
- qt-material-widget这个开源静态库的代码中有一个example实例,如果不知道怎么上手,可以去看他的源代码看看他有哪些函数功能,比如按钮内是否添加icon、按钮的按下状态等(可以看他的组件是什么名字,然后去搜这个组件名,然后从这个切入看有哪些功能函数可以调用)
- 这个是静态库的链接,其实动态库也差不多(也可能是我目前比较肤浅,后面再次用到的时候再更新吧)