Fu_Lin_
为人朴实正直,有积极进取的心态,努力拼搏。性格沉稳内敛,做事细心踏实,个性坚韧,能吃苦耐劳,对工作有很强的责任感!有很强进取心和团队协作精神,学习能力、适应能力、承受压力能力较强,善于挑战自我。
展开
-
Qml 组件窗口内控件出现闪烁的问题
出现的闪烁问题最少,可尝试使用这个。这个接口对于程序的兼容性的影响,暂时未知,似乎需要支持硬件加速的平台才可以这么。通过设置场景图渲染后端,使用硬件加速的方法来解决。有不同的渲染方式的枚举,可以选择最优的结果去使用。,闪烁的问题可能不会出现。原创 2024-04-01 14:28:21 · 183 阅读 · 0 评论 -
QML加载QIcon,或从主题及文件加载图标
最近使用QML加载QIcon发现在QML中不能直接使用QIcon类,常见的比如在Button中设置icon属性为QIcon类会提示。子类化来实现在QML中访问C++提供的图片感觉即繁琐又复杂。如果能够在QML中直接使用QIcon无疑会方便许多。以下是通过QIcon在C++中加载主题图标或其它图片,而后在QML中使用的方法。原创 2023-07-11 15:36:12 · 781 阅读 · 0 评论 -
Qml 字体使用pixelSize来自适应界面
一直被字体自适应这个问题困扰,尤其是使用pixelSize单位字体,在不同的分辨率电脑上会显示不一样的效果,有的大,有的中等,有的贼小,这是因为使用pixelSize会导致字体给固定住,多大就是大多,不会自己变化,遇到分辨率高的就变小,低的就贼大,刚好和设计原型差不多的,就看着很漂亮。而使用pointSize虽然会自己放大缩小,但是和设计稿的字体差距很大,而且也会存在相应问题,而我更倾向于使用,既然它固定了,我可以根据比例自己放大缩小即可,所以本文重点就要解决的就是如何获取放大缩小的比例,使像素字体无论再什原创 2022-07-07 09:33:07 · 1539 阅读 · 0 评论 -
在QML中加载不同字体
之前加载不同的字体都是通过Qt代码设置,如下后面发现很多时候都不太起作用, 如果加载一个字体还好一点,加载多个好像就不起作用,后面翻阅文档,发现有专门对应Qml字体的组件,的说明可以通过、、三种方式加载字体。官方文档举例:使用的时候,只需要通过来指定就可以。 的几种状态举例:这样可以判断加载网络路径上的字体资源的状态,是成功还是失败。这个例子是从Qt帮助文档中找到的 —— 运行效果:代码在构建目录中新建一个font文件夹,里面放你的ttf字体文件。在发布的时候,该font目录和编原创 2022-06-30 15:09:55 · 716 阅读 · 0 评论 -
Qml界面切换时,字体消失或乱码
qmlpc端特殊系统环境导致界面运行时字体异常或消失原创 2021-12-15 16:07:46 · 1312 阅读 · 0 评论 -
Qml中关于TreeView 简单model自定义类型实现
效果图文章目录效果图前言自定义类型实现自定义C++ 简单 model实现qml实现自定义style:TreeViewStyle风格程序使用运行用例效果:第一种简单用法:第二种嵌套用法:前言在使用Qml 中的Treeview时,发现要自己实现model,很不方便,网上找了很多资料都是自己继承QAbstractItemModel 然后实现一套,我也实现过,总感觉复杂化了,后面发现Qt已经帮我们实现了这个model,就是 QStandardItemModel ,如果继承这个model,将会省略很多功夫,基原创 2021-10-19 14:22:53 · 959 阅读 · 0 评论 -
QML如何制作插件
前言之前有写过如何基于QWidget制作动态库QT跨目录编译及多工程集成(动态库的创建、引用及工程间相互依赖关系的pro文件编写方法), 但是现在主流已经是Qml了,所以qml的插件制作也是必不可少的,很多程序都是需要组件插件化来开发!当然网上也有很多相关的知识点,这里也是借鉴了大多数的网上知识理论,自己也是亲测验证使用到项目了,效果不错,下面看我如何一步一步生成QML插件化的制作步骤!力求简单!高效!https://www.jianshu.com/p/625057deaeachttps://blog原创 2021-07-10 20:06:57 · 504 阅读 · 0 评论 -
Qml 透明窗口,设置不规则等透明窗口,鼠标可穿透到桌面
前言最近有个需求,在PC端做一个悬浮按钮加一个主界面窗口,主界面上又很多子界面,悬浮按钮需要一直存在,主界面显示时,点击悬浮按钮,主界面达到隐藏,真能看到悬浮按钮,再次点击悬浮按钮主界面显示,如何做出来了?需求很简单,但是实现很麻烦啊,因为我的悬浮按钮是对等的,也就是说左右隔一个,很多人觉得就是将主窗口缩小成悬浮按钮大小就行了,如果是只有一个时还可以这样取巧,但是左右各一个时不能这样,只能隐藏主界面控件,下面看我的详细分析讲解实现,该项目实现后可做GIF录屏软件等穿透性工具!讲解步骤用过Qml的自然知原创 2021-07-05 15:48:10 · 1869 阅读 · 3 评论 -
QML程序实现动态切换多语言(ListModel/ListElement中的文本的多语言处理)
文章目录前言回顾Qt多语言机制动态加载处理方法(适用于Qt全版本)Qt5.10以上机制ListModel/ListElement多语言问题解决前言Qt程序中实现多语言有Qt自己的一套机制,然而在Qt5.9版本下该机制无法在程序运行期间动态切换语言。本文向大家介绍一种切实可行的walkaround方法,在Qt5.10+以上版本可以自由在程序运行期间动态切换语言。同时支持对普通文本以及在 ListModel/ListElement 中的文本的多语言处理。回顾Qt多语言机制Qt自身的多语言机制分下面几个步原创 2021-05-10 11:24:13 · 768 阅读 · 0 评论 -
qrc 生成exe用文本打开避免源码泄漏的解决方案
在使用qml开发PC端的时候生成exe,在用文本打开exe转编码,发现竟然可以看到qml中的核心源码并且图片资源之类的文件,所以为了避免源码泄漏可以使用QResource::registerResource("E:/TestQt/qmlPc/qml.rcc");并且要屏蔽之前工程文件中的#RESOURCES += qml.qrc然后运行就ok了!上面的qrc原创 2017-12-06 16:58:17 · 702 阅读 · 0 评论 -
Qml 编写遥控器转盘按钮
文章目录前言实现思路第一步第二步第三步代码实现步骤全部代码实现如下前言今天开发android ,看到有个需求是实现一个类似于转盘的按钮,如下图:我这边使用qml实现界面的,所以在网上所搜一遍,也没发现有现成可以继承的,大多数都是android的现成UI实现库,对于我而言,没有实际意义,所以只能自己实现了先贴下我实现的效果图,下面这个图是我自己用qml实现的实现思路使用qml实现,这个难度其实是很大的,它不想QWidget可以QPainter,也没有特定的多边形矩形或者扇形接口,一切等于都要自原创 2020-11-03 11:27:21 · 905 阅读 · 2 评论 -
Qt 拖拽文件的实现(桌面到应用程序,应用程序到桌面均可以)
前言今天尝试了下Qt的文件拖拽,从桌面或系统其它位置拖拽文件到Qt的控件中,我发现,很简单,但是逆序过去,从程序将文件拖拽到桌面或系统任意位置,废了我不少时间,尤其是我要吐槽的一篇文章Qt中从应用程序拖出文件或图片到桌面,一顿瞎写,标题和内容完全不符合,让我一顿陷入了拖拽的误区,查阅各种资料和百度才搞定从应用程序拖拽文件到桌面的逆袭,不容易啊,我会记录两个版本,一个是QWidget,一个是Qml,我自身是开发于Qml的,不过两种都实现过了,所以现记录如下。正文一、QWidget版本1.1 从桌面原创 2020-07-16 11:23:55 · 2944 阅读 · 15 评论 -
Qml 2.0系列版本的TableView
前言最近使用Tableview来显示表格数据,发现qml的TableView已经到了2.0版本了,网上百度一番,发现记录使用新版的Tabelview用法的非常少,几乎都是1.0版本,而Qt也打算放弃1.0版本了,所以特此记录一番,虽然现在还可以使用1.0版本,并且使用上手也非常简单方便,但是有很多问题,比如放大缩小或者滚动什么的,数据多了会卡顿几秒钟,颇为不爽,于是乎研究了下2.0系列新出的Tableview,发现使用官方demo一点都不卡,数据量在10000+以上,滚动什么的操作流畅无比,废话不多说了,原创 2020-05-15 12:48:54 · 1843 阅读 · 5 评论 -
Qml水波进度条、扇形进度条等其他进度条
前言因为需求所致,需要采用进度条,开始采用的是普通的横线进度条,感觉效果也不错,后面改成了水波进度条,也就是好看了一点,在后面改成了扇形进度条,逼迫无奈啊!!!最终采用了扇形进度条,除了横线的QML自己提供,其他的都要自己计算位置自己来画,甚是麻烦,于是记录下来,也给后面需求的人一个参考吧!废话不多说了,看下面代码,,列出三种不同的进度条画法和对应的效果图!!!下面效果图的时间测试都是80...原创 2020-04-28 14:04:09 · 1682 阅读 · 0 评论 -
Qt:QML编译大坑之import用法
今天在使用qt5.12.7编译android到手机上时,疯狂报错:module “QtGraphicalEffects” is not installedmodule “QtQuick.Controls” is not installedmodule “QtQuick.Controls” version 2.12 is not installed百思不得其解,各种百度无解,主要是在win...原创 2020-02-22 10:30:12 · 5124 阅读 · 0 评论 -
QML或 js 字符串中的\n不会换行
var str1=aaaaaaa\nbbbbbbb;alert(str1); //不换行 ???不知所以然解决方案: while (str1.indexOf("\\n") >= 0) { var str2 = str1.replace("\\n", " \n "); } 将\n两边各加一个空格就ok了。alert(str2); //换行亲测有效!!!...原创 2020-01-15 09:44:37 · 1293 阅读 · 0 评论 -
Listview的下拉刷新,上拉分页
网上找不到更好的解决方案了,网上实现的都是在拉的过程中就会自动刷新,不人性化,想取消都不行,只能自己解决记录方案先记录下listview比较常用的一些属性吧:currentIndex动态切换切换 item 的时候将 currentIndex 也跟随着变化,需要加上:highlightRangeMode: ListView.StrictlyEnforceRange禁止列表首尾滑动这个标题...原创 2019-05-08 10:59:50 · 738 阅读 · 5 评论 -
QML 中GridView翻页实现
前言使用GridView翻页让我折腾了一天,就是鼠标滑动一下,正好翻过去当前能看到的视图的一页,而不是随机停止,或者只是移动一个item,当然,如果只是翻页就简单了,问题是还要记录翻页后,当前的所在页面是第几页,这个就麻烦了。所幸,根据百度和Qt文档的不停地摸索,还是想出了一个勉强能维持得了效果的实现方法。看一下效果图:上面点击左右箭头也是可以跳转页面的,只是没有动画效果,但是页数还是在变...原创 2019-04-10 09:17:56 · 3405 阅读 · 0 评论 -
Qml 内部单例模式
前言其实这个单例模式,我已经使用了2年多了,从接触qml时候就会用了,一直也没记录,现在感觉脑子不好用了,反反复复感觉老是容易忘记一些细节性的东西,所以记录一下,当然里面也会说到一些小技巧和对应的BUG解决。问题回归正题,如何在整个QML工程界面中使用一些公用的数据和方法呢?毋庸置疑,肯定是单例模式,很多人可能习惯使用了C++单例模式,定然想不到QML也有单例模式,所以一般在QML界面直接使...原创 2019-03-29 10:44:44 · 1216 阅读 · 2 评论 -
自定义QML模块(qmldir文件语法)
文章目录前言模块化的语法qmldir文件qmltypes文件QML文件目录导入C++插件前言今天使用qml开发,想模块化管理时就头大了,发现对qmldir的认识还是不够多,于是大肆百度,然而所获甚少,不过也算是摸索出一些东东了,之前对qmldir的认识还是用于单例模块,现在想模块化管理就感觉力不从心啊!!!模块化的语法下面就记录一下所获取到的一些关于模块化的语法和用例,具体的还需要实践。...原创 2019-04-02 10:52:39 · 3931 阅读 · 0 评论 -
qml字体模糊,其他设备有异样,解决方案
前言之前写过一篇博客是关于移动端字体方便的qt for android中文字体显示异常解决方案,这个方案只能解决字体乱码的问题,但是不能解决字体模糊的问题,所以,qml字体模糊一直是一个心病,qwidget就不会模糊,也一直不知道为什么,偶尔间,今天看到一篇博文写了这个相关的话题,现记录如下:正文首先是关于这个属性:renderType,需要设置为Text.NativeRendering...原创 2019-05-16 18:00:49 · 1945 阅读 · 0 评论 -
qml gradient 横向渐变
qml 在5.12以下版本是没有从左到右的横向渐变方法设置的,如下:Rectangle { gradient: Gradient { GradientStop { color: "#333" position: 0 } GradientStop { color: "#2...原创 2019-06-10 18:32:57 · 1962 阅读 · 0 评论 -
qml----Model/View TableView
前言记录这个是因为TMD文档上面根本就没有rowDelegate和headerDelegate的属性相关的设置,不知道网上怎么找到的,记录一下,记录的这些属性设置可以通用所有 QtQuick.Controls 1.X系列的style风格设计正文其实Tableview与Listview相似,只不过是多了滚动条、挑选以及可调节尺寸等功能,它的数据也是通过Model来实现的,可以用listMod...原创 2019-06-20 17:59:38 · 2202 阅读 · 1 评论 -
QML使用Sqlite数据库存储ListModel数据
(本文为utf-8格式,可以直接使用相应代码) Models 是用来提供数据的,它既可以以 QML 的形式出现也可以是 C++的类。QML中的Model有ListModel、XmlListModel、VisualItemModel;C++ 中的 Model 有 QAbstractItemModel、QStringList、 QList<QObject*>等。另外我们可以把数据存...原创 2018-05-07 10:45:54 · 1829 阅读 · 0 评论 -
QML使用Sqlite数据库
在程序中,我们经常需要把一些数据持久化,比如一些设置信息和程序配置。QML并不能直接访问本地文件,但是可以通过Offline Storage API访问本地Sqlite数据库,从而达到目的。 首先在qml目录下创建一个storage.js[javascript] view plain copy//storage.js // 首先创建一个helper方法连接数据库 .import QtQuick...原创 2018-05-02 17:29:27 · 2631 阅读 · 2 评论 -
Qml中Image加载图片再不同平台的方式
今天用QML中Image加载win系统下的本地路径图片的时候,发现无论加绝对路径或file://+path都打不开,就很奇怪,经过一番查阅发现,各个系统的加载方式都不相同,win系统:Image { id: previewImage anchors.fill: parent source: "file:///"+"C:/Desert.jpg"...原创 2017-11-11 10:21:28 · 2417 阅读 · 1 评论 -
QML使用PinchArea实现捏拉缩放与旋转并单手拖放控件
因为要实现一个类似微信换头像的功能,所以使用到了背景图片的捏拉缩放并且还要能单手拖放控件!根据查阅文档,了解到要实现捏拉缩放可以使用PinchArea来实现,当人也可以自己事件,这边就直接用系统的方法,而使用单手拖放控件可以直接用Drag这个控件,下面是实现代码: Image { id: previewImage width原创 2017-11-11 15:10:26 · 3365 阅读 · 0 评论 -
用QQuickImageProvider给Image组件添加图片
本节最终解决为qml文件中的Image元素提供QImage类型的图片。利用到的类即QQuickImageProvider最终需要提供的Image元素在main.qml文件中如下:[cpp]view plaincopyImage{id:screenImg}Connections{原创 2018-02-01 11:22:43 · 1253 阅读 · 0 评论 -
QML 拉式门动画
曾经做过一个拉式门的QML动画,现在项目用不到了,做下记录,以免后面能用到想用的朋友,可以直接粘贴复制过去,只需要改变组件的state的名称是move还是back即可,该代码还可以监听动画是否停止,还是启动状态。 states:[ State{ name:"move" PropertyChanges{target:r原创 2018-02-06 17:25:51 · 592 阅读 · 0 评论 -
QML中如何设置Menu标签的字体颜色和其它样式
今天有个朋友遇见了一个问题,在使用qml中Menu控件时不知道如何设置字体颜色或其他样式,于是我看了下官方文档,当前版本为Qt 5.9系列,看了文档之后,发现只有使用import QtQuick.Controls.Styles 1.4这个库里面的Menu是可以重载它的Style样式来重新设置Menu的字体的,使用新的5.9版本中的import QtQuick.Controls 2....原创 2018-03-15 17:19:43 · 4615 阅读 · 0 评论 -
根据文档记录Qml的console API各个不同的功能
在调试应用程序时,输出一些log是常用的一种方法。QML提供了log输出的多个api,常用的是console.log(),直接输出参数内容。console.log():与console.log()类似的还有console.debug()/info()/warn()/error(),用法如下functionconsole_log(){consol...原创 2018-03-16 09:58:06 · 1112 阅读 · 0 评论 -
QML 画虚线 ,如何与QPaniter打交道
因为需求所致,想在QML上画虚线,发现QML完全没有用武之地,Canvas都没有这个方法,查阅了HTML的原生Canvas中是有一个setLineDash()可以画虚线的,但是qml中的Canvas是没有继承这个方法的,可能鄙人水平有限,所以只能自己通过C++QPenter来画了,同时页说明了qml如何与QPenter来结合使用。首先我是继承了QQuickPaintedItem这个类,通过这个类只...原创 2018-02-24 11:32:17 · 4582 阅读 · 1 评论 -
【Qt】QML中的JavaScript用法详解
熟悉JavaScript的应该都了解Netscape公司,一代骄子虽然倒下了,却给后人留下了最为珍贵的产品和经验,在互联网发展史上享有举足轻重的地位,这里就不讲故事了,虽然很精彩,从未被磨灭。QML是对JavaScript的扩展,提供了JS主机环境,用法相似,但有些地方与浏览器/服务器端提供的JS主机环境(如Node.js)是不同的,用起来又有一些限制,下面列举一些常用的方法。1、QML...原创 2018-03-14 14:10:36 · 2869 阅读 · 0 评论 -
QML中(QML或JS) 文件与其它JS文件互相访问变量或方法
前言 最近遇到一个很有意思的问题,在QML中,新建一个js文件,这个js文件是独立专门解析一些数据的,qml可以创建一个线程来单独访问,有趣的是我想通过这个js文件来访问另外一个js文件的内容和变量,不然就要把另外一个js文件写好的方法全部贴到这个js文件中,这样就点吃力不讨好,累赘的很。于是翻遍网络文档,发现还真有一个方法,可以查看我的这篇文章:【Qt】QML中的JavaS...原创 2018-03-14 14:27:57 · 4605 阅读 · 4 评论 -
如何配置Qt Quick Controls2.config文件
由于Qt Quick Controls2项目主要是为了迎合移动端开发的需要,所以做了很多跨平台方面的扩展。这里项目的配置就是其中一个方便配置QML项目风格的方式,使得我们可以自主地定制QML组件的风格样式。首先我们新建项目,选择qt quick Controls 2类型。如下图。然后指定项目的路径。项目创建好了以后,如下图,我们的项目结构如下图,代码上面直接就是...原创 2018-04-11 15:45:25 · 2346 阅读 · 0 评论 -
Qml文件的两种加载方式
一种是QQmlApplicationEngine搭配Window,例如:[cpp]view plaincopy#include#includeintmain(intargc,char*argv[]){QGuiApplicationapp(argc,argv);原创 2017-12-13 16:58:31 · 2088 阅读 · 0 评论