qml-自定义quick模块

qml-自定义quick模块,第1张

将自己写的可通用的qml组件打包成dll文件,供其他项目使用。通过生成qmltypes文件实现在qt creator中正常识别,能够自动补全。项目不需要任何多余 *** 作,直接import即可使用。

https://github.com/loveCatCoder/ZNModule/tree/master

按照如图所示设置新建项目,自定义项目名和保存路径。

在项目中编写自定义组件,将组件的qml文件包含在qrc文件中。在插件类的registerTypes成员函数中注册自定义组件。如下图:

构建项目,找到生成的dll,lib,qmldir,尽量在release模式下构建

自己找一个地方新建一个文件夹,文件夹名字和qml模块名一致。如ZNModule,将上面的dll,lib,qmldir文件拷贝到ZNModule文件夹中。修改qmldir如下:

将ZNModule文件夹复制到qt安装目录中对应编译器的qml文件夹中,即可在qt creator正常使用,可以自动补全,不会有波浪线。我的目标路径如下,编译器要选对。

toou2d组件库

https://github.com/ShowFL/Toou-2D

涛哥博客

https://jaredtao.github.io/2019/06/01/Qml%E7%BB%84%E4%BB%B6%E5%8C%96%E7%BC%96%E7%A8%8B10-%E8%87%AA%E5%AE%9A%E4%B9%89Quick%E6%A8%A1%E5%9D%97/

你说的静态库和动态库吧?编译速度没有太大的区别,在实际运行时,静态库运行较快,而动态库内地函数由于在实际使用到时才加载到内存,所以运行较慢。动态库的好处是只要保持接口不变,就可以在程序运行时进行动态库的切换。

1

Qt Quick Controls2的默认风格是一种朴素,轻量的风格,这种风格体现在控件的所有方面。其好处就是能够最大程度提高你的App性能

2

Qt Quick还根据谷歌提出的Material Design设计规则,提供了一套界面精美诱人的风格方案,相对默认风格来说,这种风格会更消耗系统资源

3

Qt Quick还根据微软提出的Universal Design设计规则,提供了一套界面精美诱人的风格方案,相对默认风格来说,这种风格会更消耗系统资源

4

配置应用程序界面风格的一种方法是在C++源文件的main.c中,通过QQuickStyle的静态方法setStyle来设置,比如下面的代码将App风格设置为Material Design

5

另一种配置程序界面风格的方法是使用配置文件qtquickcontrols2.conf

该配置文件最终会作为程序的资源文件被编译进程序当中,下面的配置代码指定了目标程序使用Material Design规则,并且主题为light。为了使该配置文件生效,该文件必须被编译进应用程序中,作为程序的资源文件

6

使用Material Style,需要import QtQuick.Controls.Material 2.0

其附加属性有:

1. accent,color类型,表示重点色,默认是Material.Pink

2. primary,color类型,表示优选色,默认是 Material.Indigo

3. backbround,color类型,表示背景色,默认由主题指定(light或者dark)

4. elevation,int类型,表示海拔高度,值越大,阴影越深,该值与具体控件相关

5. foreground,color类型,表示前景色,默认值由主题指定(light或者dark)

6. theme,枚举类型,表示主题,默认是Material.Light,也可修改为Material.Dark

所有的属性都可以被任何Item或者Window单独设置,且可以传递给子对象Item。可以在QML文档中设置,也可以在配置文件中设置全局的,但是在QML文档中设置的优先级更高

7

系统预定义的颜色有很多,并且在不同的主题下有不同的表现。

Material Style有一个附件方法:

color color(enumeration predefined, enumeration shade)

可以返回一个实际有效的color值,这个值由预定义的Material color和用户指定的阴影值给出,shade缺省为Material.Shade500


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8168953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存