Qt(C++&Qml)
文章平均质量分 70
主要讲qml开发
爱搞事的程小猿
一个路过的假面骑士
展开
-
7. qml按键最优解
RadioButton,CheckBox,switch算是他们的衍生,单选框,多选框,切换按键。这里有个问题就是当delay设置低于500ms,达到1松开太快偶尔会卡住。使用这个原因是执行方法耗时,频繁点击会导致无意义多次调用接口,影响性能。如果一直频繁点击,触发执行就会一直延迟,这就是按键防抖的原理。在规定的时间内重复点击按键只会执行一次,最后一次点击就执行。官网列出了他扩展的按键派生与AbstractButton。需要当进度0-1的时候,才会触发actived()信号。需要使用DelayButton。原创 2024-09-14 14:50:12 · 308 阅读 · 0 评论 -
6.qml数值输入框
确定就是value 是整型,用来作为整型数值输入框可以。初始值设置100超出最大值范围,也会自动校准回99。跟上面一样,初始化的时候也会校准初始值,设置了初始化100超出范围不会自动校准。开发过程中是少不了数值的输入的。默认最小值1,最大值99。具备初始化自动校验能力。可以设置前后缀,精度。原创 2024-09-14 12:19:59 · 355 阅读 · 0 评论 -
5.qml 如何管理好控制台打印输出
在工程文件里面加入,这个只是禁用了c++端的打印。原创 2024-09-12 15:45:37 · 168 阅读 · 0 评论 -
4.qml单例模式
很明显使用import引入的js文件数据是不共享的,也就是他们在qml中的体现为都是个实例。但是有的场景我们希望我们的js文件是一个单例,也就是数据是共享的,怎么做呢?js定义的变量没有ValueChanged这种信号, 故刷新不了qml页面。qml页面数据的刷新绑定的变量其实还是使用了qml的信号与槽的机制,而。需要在qml最上面加入这一行,没有逗号,跟js不一样。有缺点,缺点就是定义的变量不会通知qml页面的变更。全局变量的使用,导致多个qml文件同时触发刷新,直接添加一个js文件到qml中。原创 2024-09-12 15:05:28 · 663 阅读 · 0 评论 -
3.qml与c++模块化开发
我们有一台台式电脑,我们台式电脑有显卡,内存,磁盘,cpu,键盘,鼠标等。有了它我们可以快速引入到自己的项目中,我们只需要拷贝某个模块项目的程序。以前是焊死在一起的,坏了一块就得全部丢了,现在不一样了,模块化合并?哪里坏了,替换哪里,哪里更新换代了,我们买个新的换上去就行了?如果是qml模块那就我们的main.cpp里面多做一点处理。好了,说回代码,无论是c++,还是qml模块化管理。然后在我们的程序里面,在工程文件.pro里面使用。我们鼠标坏了换鼠标,我们显卡坏了换显卡。你可以将这些部件当做。原创 2024-07-26 17:47:50 · 264 阅读 · 0 评论 -
1.qml使用c++
main.cpp中注册上下文全局对象c++函数想要被qml使用需要用加载方法声明前面Q_INVOKABLE2.注册qml类型main.cpp中注册为qml使用的类型使用直接跟qml组件一样就可以了原创 2024-07-21 22:13:53 · 275 阅读 · 0 评论 -
2.qml性能问题
我们再qml中可以使用loader进行动态加载,同时也可以加上asynchronous进行异步加载。因为scrollbar 是可以快速滑动的,快速滑动的时候,loader没完全加载出来不就卡爆了吗。一般动态数据我们考虑 listview ,gridview , tableview 等组件。listview ,gridview 不适合渲染复杂的itemdelegate。如果绑定scrollbar, 你会发现scrollbar 老卡了,为什么呢。如果你生产环境的设备显卡不太行的话。但是对低性能设备非常友好。原创 2024-07-24 11:01:38 · 352 阅读 · 0 评论