![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
qml
班公湖里洗过脚
上马击狂胡,下马草军书
展开
-
QQuickImageProvider的简单使用(图片提供者)
我们都知道qml中用Image来显示图片,直接给Image的source赋路径自动加载,非常方便,但如果是大图片占用的内存就很高,如果有很多大图片就会占用非常多的内存而引起程序崩溃。那么有没有一种方式来加载缩略图而减小内存呢,答案是有的,Qt提供一个QQuickImageProvider类用来压缩图片,这样内存就会占用很小,下面是具体的示例:原创 2022-10-12 19:26:23 · 1027 阅读 · 0 评论 -
qml之Date的学习使用
在qml中使用Date来获取时间,这个不只是显示在界面上,还有一个很实用的方式是用来获取程序的执行时间,比如,你想知道一个执行一个函数花了多上时间,就可以在调用函数之前获取一个本地是间,函数结束之后再获取一下时间,这个时间对比一下就可以知道函数的运行时间了,其他QDate有很多函数,不知道什么原因,帮助文档里只写了7个,这些获取年份,月份,小时等单独的函数都没有写,这里记录一下,QDate的所有函数:原创 2015-01-14 12:21:38 · 949 阅读 · 0 评论 -
qml Image显示圆角图像
qml的Image用来显示图像,但是显示的角度都是直像,Image不像Rectangle有圆角radius这个属性,如果想显示圆角的图像该如何设置呢,这个时假我们可以用OpacityMask来配合使用,下面请看具体示例:原创 2021-08-20 09:56:20 · 1401 阅读 · 0 评论 -
qml之TextArea 添加滚动条
qml的TextArea是富文本控件,可以显示各种文字,包括图片表情等,如果文本过长,则需要添加滚动条,这样才能方便看到所有的内容。本篇介绍TextArea添加滚动条的一种方式:原创 2021-07-31 23:29:02 · 3060 阅读 · 1 评论 -
qml向Qt的C++传数组参数
我们都知道qml和C++可以进行交互,但数据交互的过程中,一般只限于内置类型,比如int, bool,double等,如果是json或数组由C++传给qml,qml是可以解析的,但如果是qml传数组给C++呢,该如何传参及解析数组参数呢,C++中通过QVariantList来进处理参数处理,qml参数封装如下:原创 2021-12-06 21:55:04 · 2566 阅读 · 0 评论 -
QML对JSON字符串进行处理
QML可以接收C++传过来的各种参数,在处理JSON数据时有两种情况,一种是QJsonObject的JSON数据,这种直接可以用json["xx"]获取值,同时可以用JSON.stringify(json);输出字符串,另一种是JSON格式的字符串,这时候直接用json["xx"]就不能获取值了,需要用到JSON.parse(json)进行转换成JSON对象然后再jsonObject["xx"]获取值,下面是具体的示例原创 2021-07-30 23:56:43 · 2185 阅读 · 0 评论 -
qml TextArea 文字缩略
TextArea是qml的一个富文本显示控件,可以显示文字,表情,图片等,在使用的过程中有时我们需要控制文本的宽度,超出部分用...表示,那么譔如何实现呢,虽然TextArea没有Text中的elide属性,但是可以借助TextMetrics实现这种效果,下面看具体的示例:原创 2021-07-28 23:41:51 · 632 阅读 · 0 评论 -
qml调用C++创建右键菜单
在qml与QWidget混合编程的过程中,有时候qml创建的菜单不适用QWidget,这就时候就需要弹出QWidget自己的菜单,那么如何使用qml调用C++创建的菜单呢,下面看具体的示例:原创 2021-07-24 23:34:24 · 310 阅读 · 0 评论 -
C++单例类注册到qml模块与之交互
我们都知道C++注册到qml文件中,可以在qml文件中作为元素类型来使用,每个qml文件可以使用注册过的C++文件里的类,本篇介绍C++单例类注册到qml文件中,这样就可以在不同的qml使用中,同时,如果单例类发信号,每个qml文件中有写信号接收的地方都可以收到单例发出来的信号,这样方便不同的界面可以同步同一状态或效果。下面请看具体的代码示例:原创 2021-10-13 22:12:20 · 1267 阅读 · 1 评论 -
qml通过注册QML文件来发送信号进行多个QML页面进行交互
在QML编程中,我们知道通过注册C++文件来向qml发送信号进行交互,其实Qml也可以通过注册QML文件,使用qml文件中的信号进行多页面信息交互,下面是简单的示例:原创 2021-09-05 11:02:30 · 1693 阅读 · 0 评论 -
qml Loader使用
在qml中使用Loader可以加载Component也可以加载qml文件,同时也可以与qml文件进行交互,下面来看loader的使用方式:原创 2021-10-03 23:30:14 · 2588 阅读 · 0 评论 -
qml自定义菜单栏实现自由拖动
在使用qml开发过程中,有时候我们需要自己定制菜单栏并且也能自由拖动,本篇介绍qml定制菜单栏实现自由拖动。原创 2021-10-02 18:20:23 · 888 阅读 · 0 评论 -
qml使用Loader动态创建和删除组件
qml使用Loader动态创建和删除组件原创 2021-09-27 23:51:21 · 706 阅读 · 1 评论 -
qml弹出window对话框的方式
//Sub1Window.qmlimport QtQuick 2.12import QtQuick.Window 2.12Window { visible: true id: windowView width: 200 height: 200 modality: Qt.WindowModal flags: Qt.FramelessWindowHint color: "green" property string strText: ".原创 2021-09-26 22:53:30 · 2552 阅读 · 0 评论 -
qml ListView滚动条位置设置
ListView列表展示数据时,有时候刷新数据时我们需要把滚动条的位置设置为顶部,底部或都任意需要的位置,方便展示需要的效果,那么如何设置滚动条的位置呢,ListView提供这些API可以设置positionViewAtBeginning() ,positionViewAtEnd() positionViewAtIndex(int index, PositionMode mode)下面来看具体的代码示例:import QtQuick 2.12import QtQuick.Window 2.12原创 2021-09-19 17:32:32 · 3392 阅读 · 0 评论 -
qml listView上拉动态加载数据
用qml的listView显示列表数据时,有时数据量大,这个时候我们就需要动态分页加载数据,往上拉加载下一页数据,这种效果用ListView如何实现呢?下面来看具体的示例:import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Controls 2.12Window { visible: true width: 640 height: 480 title: qsTr("Hello World")原创 2021-09-19 13:29:37 · 1490 阅读 · 0 评论 -
qml显示Toast
在使用qml编程的过程中,有时候执行一个任务结束后需要有一个结果提示,而且这个提示等待几秒后自动消失,这个就是一个Toast提示,本文介绍的就是使用qml显示Toast效果,具体的示例代码如下://Toast.qmlimport QtQuick 2.12Rectangle{ id: toast property real time: defaultTime readonly property real defaultTime: 3000 readonly pro原创 2021-09-19 09:05:21 · 901 阅读 · 0 评论 -
qml Image显示网络图片
Qt显示图片时必须是本地的或者qrc资源文件里的图片,而qml的Image确可以显示网络的图片,这是一个大的优势,不用下载图片到本地。下面请看源码示例:import QtQuick 2.12import QtQuick.Window 2.12Window { visible: true width: 640 height: 480 title: qsTr("qml显示网络图片") Image { id: imageHeader原创 2021-09-15 10:28:31 · 1157 阅读 · 2 评论 -
qml定制菜单栏与Win关闭按钮产生一样的效果
qml定制菜单栏与Win关闭按钮产生一样的效果win关闭按钮鼠标悬浮时是红色的背景,这种效果怎么产生的呢,请看下面的代码实现import QtQuick 2.12import QtQuick.Window 2.12Window { visible: true width: 640 height: 480 title: qsTr("定制标题栏") //color: "transparent" flags: Qt.Window | Qt.Win原创 2021-09-14 14:09:59 · 374 阅读 · 2 评论 -
qml OpacityMask的使用示例
OpacityMask的作用是使用另一项屏蔽源项,具体示例代码如下://main.cpp#include <QGuiApplication>#include <QQmlApplicationEngine>int main(int argc, char *argv[]){ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv原创 2021-09-14 08:56:27 · 1326 阅读 · 0 评论 -
Qml图片旋转
在qt开发中有时需要实现图片的各种动作与动画特效,比如说图片旋转,或者只显示45度的一部分等,而用Qml实现起来就比较简洁,下面看具体的代码实现:原创 2016-11-21 19:49:39 · 1625 阅读 · 0 评论 -
qml Popup弹出控件使用
开发环境Qt5.13.1 window10//main.qmlimport QtQuick 2.13import QtQuick.Window 2.13import QtQuick.Controls 2.5Window { visible: true width: 640 height: 480 title: qsTr("Hello World")...原创 2020-05-10 16:27:47 · 4654 阅读 · 0 评论 -
qml设置透明度
qml设置透明度有两个方式,一种是Qt.rgba()方法是:将十六进制转成rgb,每个数值都除以255,另一种是opacity属性值设置,但是这两种是有区别的,Qt.rgba()设置只能当前的Rectangle有效,而opacity的设置会影响到子部件,下面看源码示例import QtQuick 2.13import QtQuick.Window 2.13Window { vi...原创 2020-05-10 16:08:52 · 5973 阅读 · 1 评论 -
qml显示gif动画
在Qt中可以用QMive加QLable显示Gif动,而在Qml中,有一个专门的控件显示Gif,即AnimatedImageAnimatedImage 提供了五个属性: currentFrame,指示当前正在播放的帧序号 frameCount,指示图片的总帧数 paused,表示是否暂停,设置它也可以暂停或继续播放 playing,指示动画是否在播放,默认为 t...原创 2020-03-28 12:23:59 · 3733 阅读 · 0 评论 -
qml正则表达式使用笔记
在qml中,有的输入框的内容是有固定格式的,比如:经度-180.0~180.0之间,纬度-90.0~90.0之间,因此在设置输入框的输入内容时,就得限制这种格式,需要什么样的规则才能设定这些格式呢,正则表达式可以满足这些需求,下面以TextField输入框的使用为例,代码如下:import QtQuick 2.13import QtQuick.Controls 2.12Recta...原创 2020-03-25 17:43:06 · 2460 阅读 · 2 评论 -
qml之TextField使用笔记
TextField在Qml开发过程中作为输入框经常用到,本篇介绍以TextField作为密码输入框的使用示例:其中有几点重要的属性需要用到,placeholderText:内容为空时提示文字selectByMouse:鼠标选择,这个比较实用,比如说,输入了密码错了,可以全选一次删除selectionColor:选中的颜色echoMode:模式,如果设置密码模式输入密码后显示的是圆点原创 2020-02-04 17:47:55 · 8666 阅读 · 2 评论 -
qml显示gif动画和文字滚动播出
import QtQuick 2.12import QtQuick.Window 2.12Window { visible: true width: 640 height: 680 title: qsTr("Hello World") AnimatedImage {//显示gif动画 id: gifImage widt...原创 2020-01-30 17:57:26 · 719 阅读 · 0 评论 -
qml中数组的定义与使用
qml中没有看到专门使用数组的方式,这里是借鉴JS的语言,经测试可用定义数组property var strArray:[]添加元素strArray.push("first");删除元素strArray.pop();清空数组strArray = [];//或者strArray.length = 0;参考文档https://2ality.co...原创 2020-01-09 11:57:31 · 14690 阅读 · 2 评论 -
qml GridView伸展与收缩动画
import QtQuick 2.12import QtQuick.Window 2.12Window { visible: true width: 640 height: 480 title: qsTr("GridView") ListModel { id: gridViewModel ListElement{na...原创 2014-04-29 10:31:35 · 1200 阅读 · 0 评论 -
qml 左右伸展与缩放动画
import QtQuick 2.12import QtQuick.Window 2.12import QtQuick.Layouts 1.12Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Rectangle { id: root...原创 2013-12-10 00:02:36 · 1173 阅读 · 0 评论 -
qml 文字滚动实现
import QtQuick 2.12import QtQuick.Window 2.12Window { visible: true width: 340 height: 280 title: qsTr("Text Scroll") Rectangle { id: scrollRect width: 300; he...原创 2014-04-20 16:59:33 · 4672 阅读 · 2 评论 -
plugin cannot be loaded for module "QtQuick.Controls":
plugin cannot be loaded for module "QtQuick.Controls":无法加载库E:\Qt\Qt5.13.1\5.13.1\msvc2015_64\qml\QtQuick\Controls.2\qtquickcontrols2plugind.dll:找不到指定的模块。import QtQuick.Controls 2.12qml程序在安装包目录下直...原创 2019-11-14 18:28:00 · 3202 阅读 · 10 评论 -
Quick3D 学习文档
http://huangchunquanmaker.blog.163.com/blog/static/10740848320110122504678/Quick3D 学习文档 2011-01-12 14:50:04| 分类: QT|举报|字号 订阅一.介绍quick3d是把qt3d部分以插件的形式导出,在QML中通转载 2014-12-30 08:47:11 · 726 阅读 · 0 评论 -
ubuntu1204 qt5.3运行qml程序时出错
ubuntu1204 环境下QT5.3运行QML程序时出现原创 2014-05-14 23:40:56 · 3296 阅读 · 0 评论 -
QML之Text
Text在qml中显示文本时,经常用到,它的属性也有很多,其实最重要最经常用到的属性有,color(文本颜色),font.pixelSize(字体大小),text(文本内容),textFormat(文本格式),elide(文本缩略),并且Text还支持富文本,这个属性解决超链接的问题,文本缩略这个属性也很实用,下面来看具体的示例:原创 2014-10-31 08:51:43 · 1896 阅读 · 0 评论 -
纯QML程序添加开启动画
http://hi.baidu.com/charles_gzz/item/487948c663111ec5964452c1纯QML程序添加开启动画 目前在用纯QML做项目,由于移植到Android后开启比较慢,所以想给其添加一个开启动画。如果用QWidget做顶层显示控件的话,在main函数中用QSplashScreen就可以很容易的实现开启动画转载 2014-12-13 14:47:48 · 4061 阅读 · 0 评论 -
qml Rectangle中clip属性效果
import QtQuick2.2Rectangle { id: root width: 800; height: 600 Rectangle { id: side anchors { top: parent.top left: parent.left原创 2014-06-12 00:08:06 · 3279 阅读 · 0 评论 -
QML之鼠标样式
http://blog.sina.com.cn/s/blog_a6fb6cc90102v204.html 之前有介绍过Qt中设置鼠标样式的博文(c++版),可参考:Qt之鼠标样式。 QML中可以通过MouseArea的cursorShape属性来设置。cursorShape : Qt::CursorShape 此属性保存这个鼠标区域的光标形状转载 2015-04-13 08:48:27 · 3626 阅读 · 0 评论 -
从另一个qml文件中读取数据并显示在ListView中
http://blog.csdn.net/csfreebird/article/details/18077839从下面的文档,你可以看到一些代码片段演示了如何创建一个简单的ListView.http://doc-snapshot.qt-project.org/qdoc/qml-qtquick-listview.html#model-prop我把这些组装起来,转载 2015-03-31 13:36:36 · 1313 阅读 · 0 评论 -
qml drag listview
http://stackoverflow.com/questions/26045587/using-drag-and-drop-with-listview-to-create-an-inventory-ui转载 2015-03-28 00:04:42 · 1308 阅读 · 0 评论