QML
文章平均质量分 69
上官宏竹
这个作者很懒,什么都没留下…
展开
-
QML实现模板方法模式
javascript设计模式 之 8 模板方法模式总结来说就是,父类抽象出整个流程,固定了流程的走向,比如调用 A B C,按这个流程来,并可以默认实现这三个接口,而子类则可以选择实现其中的接口,从而在流程中根据子类实际情况,改变运行路径。原创 2022-09-01 19:40:18 · 429 阅读 · 0 评论 -
QML相关bug记录
这个问题的关键就是,第一输入5后,rootItem.value的值从其他值被改为2.0,再次输入20后,rootItem.value的值还是被改为2.0,这等于没有变化。这里有一个操作就是要判断from和to的范围,让输入的数值在这个范围内显示,当前默认最大值为2.0。那么这里有一个问题就是,当第一次设置超过2.0的值后,再次再设置超2.0的值后,属性绑定时,被绑定的属性的更新时机是在源属性有变化的时候,执行更新的。的输入值,改成对应的value,即从text到value的转化。...原创 2022-08-25 17:34:08 · 319 阅读 · 0 评论 -
C++传数据给Qml
的话,QVariant里可以放任何你想要的数据结构,一般都是自定义的居多。如果不是自定义的数据,可以直接使用QT的定义类型。那么在QML中,QMAP被当做了一个JavaScript的字典对待。这个信号,并传入自定义的数据结构。如果想给QML传入键值对,可以使用QMap类型,依然的可以使用。以上两种类型,都可以传QList,比如。C++通过发送信号,附带参数给QML。C++类通过返回类型给QML。QVariantList是。上述是qml的槽函数,连接了。,给它传入自定义的数据结构。..............原创 2022-07-27 15:51:57 · 2473 阅读 · 1 评论 -
QML定制TabBar
定制一个垂直的TabBar。QT默认的TabBar都是水平的,且定制其Tab项的背景及字体等颜色都比较麻烦。我们今天来定制一个如下效果的垂直`TabBar`原创 2022-05-26 19:07:59 · 2938 阅读 · 1 评论 -
Qml控件:ComboBox
Qml控件:定制ComboBox原创 2022-05-26 19:00:43 · 6027 阅读 · 0 评论 -
自定义Qml控件:ImageButton
自定义Qml控件:ImageButton效果实现思路效果我们来定义一个ImageButton控件,即Button上增加显示一个Image图片,既有Button的点击事件,也同时增加三种状态:正常状态、悬停状态、按压状态。原创 2022-05-26 18:51:09 · 994 阅读 · 0 评论 -
Qml类型:State 状态
Qml类型:State 状态1、定义一个状态2、状态名称3、绑定目标4、触发状态改变我们来写一个状态转换器。原创 2022-05-26 18:47:36 · 1470 阅读 · 0 评论 -
Qml与C++交互4:C++信号与Qml的槽函数的连接
Qml与C++交互4:C++信号与Qml的槽函数的连接使用场景整体思路1、建立C++信号2、C++实例注册到qml3、qml中建立槽函数运行结果使用属性使用场景比如在C++中更改某些数据,实时更新到UI界面中。整体思路C++中建立一个信号并发送,在Qml中使用Connections建立一个对应的响应槽函数,当C++发送信号时,触发Qml对应的槽函数。1、建立C++信号首先我们声明一个信号如下,然后在点击的槽函数中将信号发出去。{signals: void myClassInfoSig原创 2022-05-26 18:45:50 · 4251 阅读 · 1 评论 -
Qml与C++交互3:Qml的信号与C++的槽函数连接
Qml与C++交互3:Qml的信号与C++的槽函数连接1、C++槽函数实现2、Qml控件增加`objectName`属性3、C++找到Qml控件实例4、连接信号和槽5、自定义带参信号Qml自定义信号C++槽函数定义信号和槽的连接运行结果通过将qml中的信号连接到C++对象的槽函数中,完成某些事件的相应。总体思路:在C++类中增加一个槽函数,然后通过引擎的findChild根据名称查找到对应的qml控件对象指针,然后将qml控件的信号与C++的槽函数连接起来。1、C++槽函数实现class MyCla原创 2022-05-26 18:44:46 · 2640 阅读 · 1 评论 -
Qml与C++交互2:Qml调用C++的接口
Qml与C++交互2:Qml调用C++的接口1、定义C++类对C++类的要求C++类代码实现2、注册C++类注册实现代码通过qml引擎的属性注册C++类3、Qml调用4、运行总体思路:在C++ Qt中增加一个类,并在qml引擎加载前实例化。然后通过Qt提供的接口qmlRegisterSingletonInstance 将实例化好的C++对象注册到qml中,然后在qml中使用注册好的名称来调用C++类对象接口。具体步骤如下:1、定义C++类对C++类的要求即C++类及其成员函数需要满足如下需求后才能原创 2022-05-26 18:43:23 · 1292 阅读 · 0 评论 -
Qml与C++交互1:C++调用Qml的接口
Qml与C++交互1:C++调用Qml的接口1、QML接口2、C++调用3、代码4、运行结果总体思路:qml中添加一个js函数,C++ Qt中可以使用QMetaObject::invokeMethod 来调用Js函数。1、QML接口给控件定义一个objectName实现一个js函数Text { objectName: "textLabel"; // 控件定义一个objectName text: "Hello World"; font.pixelSize: 26; Layout.lef原创 2022-05-26 18:42:03 · 1083 阅读 · 0 评论 -
Qml类型:MouseArea
Qml类型:MouseArea鼠标点击事件的透传原创 2022-05-26 16:11:41 · 453 阅读 · 0 评论