自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 QML实战 - Image缩放移动

Image显示图像,通过Item::scale实现图像的缩放,通过MouseArea::drag实现图像的拖拽移动。Item::scalescale只是设置对象显示的比例,不改变对象的大小。值为负数时,会有镜像效果。MouseArea::dragdrag提供一种拖动对象的方法。drag.target: 指定了要拖动的对象IDdrag.active: (只读)获取当前是否在拖动目标drag.axis: 指定对象是否支持水平(Drag.XAxis),垂直(Drag.YAxis)或任意方向

2020-07-30 08:50:41 3224 1

原创 QML类型——Image

正文图像显示类。详细说明使用source属性指定图像源的URL。Image支持Qt提供的所有标准图像格式,包括位图(PNG、JPEG等)和矢量图(SVG。如果需要显示动画图像,则使用AnimatedSprite或AnimatedImage。如果未指定width和height属性,则Image将自动使用加载的图像的大小。默认情况下,指定的对象的宽度和高度会使图像缩放。可以通过设置fillMode属性来指定填充模式(允许拉伸和平铺图像)。用法示例以下示例展示了简单的用法:import QtQuic

2020-07-30 08:46:14 1448

原创 QML类型——Canvas

正文提供2D画布的对象,可通过JavaScript进行绘图。示例:import QtQuick 2.0Canvas { id: root // canvas size width: 200; height: 200 // handler to override for drawing onPaint: { // get context to draw with var ctx = getContext("2d") // setup the stroke ctx.lineWid

2020-07-30 08:40:39 851

原创 QML类型——ListView

正文为列表模型(ListModel)的所有元素提供列表视图。详细说明ListView显示内置QML类型(例如ListModel和XmlListModel)创建的模型数据,或者使用C++定义的自定义模型类(继承QAbstractItemModel或QAbstractListModel)创建的数据。ListView有一个Model(定义要显示的数据)和一个Delegate(定义如何显示数据)。ListView中的元素可以水平或垂直放置。列表视图本质上是可以拖动的,因为ListView继承Flickabl

2020-07-27 13:15:39 7731 1

原创 QML类型——ListModel

正文列表数据Model,可以自定义格式。详细说明ListModel是定义ListElement的容器。内容可以动态定义,也可以在QML中明确定义。可以通过count属性获得模型中数据的数量。可以使用模型的setProperty()方法来操作元素,该方法允许设置和更改指定元素属性。用法示例下面的示例显示一个ListModel,其中包含三个元素以及对应的角色(name和cost)。import QtQuick 2.0ListModel { id: fruitModel Lis

2020-07-27 13:09:38 11372

原创 QML类型——ListElement

正文列表元素,在ListModel中定义一个数据项。详细说明列表元素在ListModel内定义,使用ListView或Repeater类型显示列表中的所有元素。列表元素的定义与其他QML元素一样,只是它们包含角色定义而不是属性的集合。角色的使用和属性定义的语法相同,既定义了如何访问数据又包括了数据本身。角色名称必须以小写字母开头,并且应为给定模型中的所有元素所共有。值必须是简单常量:字符串、布尔值、数字或枚举值。从Qt5.11开始,ListElement还允许将函数声明分配给角色。这允许使

2020-07-21 10:57:21 2477

原创 QML类型——State

正文定义对象和属性的状态。详细说明state是提供一组用来更改状态的默认配置。所有元素都有默认状态,该状态定义对象和属性值的默认配置。可以通过States属性添加state对象来定义新状态,以允许元素在不同配置之间切换。例如,一个按钮有禁用状态、鼠标悬浮状态、鼠标按下状态等等,通过States添加对于的状态,提供给按钮切换不同的状态。以下示例展示一个矩形,在默认状态下,矩形被填充黑色;在“clicked”状态下,PropertyChanges对象将矩形的颜色更改为红色。在MouseArea中单击

2020-07-21 10:10:10 620

原创 QML基础:锚anchors

正文除了传统的Grid、Row和Column外,Qt Quick还提供了一种使用锚点的方法来布局。可以将每个元素视为具有7条不可见的“锚定线”的集合:left、horizontalCenter、right、top、verticalCenter、baseline和bottom。baseline(上图未展示)对应于文本所在的虚线。对于没有文本的元素,它与top相同。Qt Quick锚定系统允许定义不同元素的锚定线之间的关系,例如:Rectangle { id: rect1; ... }Rectang

2020-07-16 17:19:02 1278

原创 QML类型——Component

正文Component是封装好的,定义明确接口的QML类型,可以重用。组件通常是由组件文件(即.qml文件)定义。Component类型实质上允许在QML文件中内联定义QML组件,而不是将其定义为单独的QML文件。应用场景:1.有重用性且比较小的组件。2.从逻辑上来看属于某个QML文档的组件。例如,下面是多个Loader对象加载的组件:import QtQuick 2.0Item { width: 100; height: 100 Component {

2020-07-16 15:29:14 3137

原创 QML类型——Grid

正文以网格的形式对子元素进行布局。

2020-07-16 15:28:40 993 2

原创 QML基础:基本类型的属性更改信号

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!基本类型的属性更改信号一些基本类型具有属性(例如:Text类型具有pixelSize,family和bold属性)。与对象类型的属性不同,基本类型的属性不提供自己属性更改信号,只能为基本类型属性本身创建属性更改信号处理程序:Text { // invalid! onFont.pixelSizeChanged: doSomething(

2020-07-15 17:04:03 753

原创 QML类型——Column

正文以列的形式对子元素进行布局。详细说明Colum是一个将其子元素放在一列上的类型。它可以用作在不适用anchors毛垫的情况下垂直放置一系列元素。以下示例包含三个大小不同的矩形列:Column { spacing: 2 Rectangle { color: "red"; width: 50; height: 50 } Rectangle { color: "green"; width: 20; height: 50 } Rectangle { color: "b

2020-07-15 16:45:26 777

原创 QML类型——Row

正文以行的形式对子元素进行布局。详细说明Row是一种将其子元素放在一行上的类型,它可以用作在不适用anchors的情况下水平放置一系列元素的便捷方法。如下示例包含三个不同大小的矩形行:import QtQuick 2.0Row { spacing: 2 Rectangle { color: "red"; width: 50; height: 50 } Rectangle { color: "green"; width: 20; height: 50 } Rect

2020-07-15 16:36:52 2385

原创 QML类型——Timer

正文Timer类就是定时器,以指定的时间间隔触发处理程序。属性interval: int设置触发器之间的时间间隔(以毫秒为单位)。默认间隔为1000毫秒。repeat: bool定时器是否重复触发,值为true,则按照时间间隔重复触发;为false,则在指定时间间隔触发一次后就停止(即running被置位false)。running: bool为true时,启动定时器,否则停止定时器。默认为false。triggeredOnStart: bool启动定时器时,通常是在指定时间间隔之

2020-07-15 16:33:18 1980

原创 QML类型——MouseArea

正文MouseArea鼠标事件处理区域。详细介绍MouseArea是不可见的对象,通常与可见对象结合使用,以便为该项目提供鼠标事件处理。enabled属性用于开启和禁用鼠标操作,禁用时,鼠标区域无法响应所有鼠标事件。虽然MouseArea是不可见的对象,但是具有visible属性,设置为false时,鼠标区域无法响应所有鼠标事件。pressed只读属性标识着当前鼠标是否有按下操作。此属性通常用于用户界面中属性之间的绑定。containsMouse只读属性标识着鼠标光标是否在鼠标区域内;默认情况

2020-07-15 16:31:14 1739

原创 QML类型——Rectangle

正文Rectangle是绘制带有边框的填充矩形。矩形可用纯色/渐变色填充,边框可显示和隐藏,也可用纯色/渐变色填充。属性antialiasing: bool矩形对象是否抗使用锯齿。抗锯齿提供有关此属性对性能的影响信息。对于设置了圆角的矩形,默认值为true,反之则为false。border矩形对象的边框属性对象。border.color: color矩形对象的边框颜色,如果不想显示边框,可设置透明颜色。border.width: int矩形对象的边框宽度,如果不想显示边框,可设置宽

2020-07-15 16:30:25 1581

原创 QML类型——Text

正文在场景中添加格式化的文本。属性advance: size此属性从Qt 5.10引入。antialiasing: bool文本是否使用抗锯齿。只有具有renderType为Text.NativeRendering的Text才能禁用抗锯齿。默认值为true。baseUrl: url此属性用于指定Text中相对URL的基本URL:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WfnzYI2K-1594801552612)(leanote://file/g

2020-07-15 16:29:44 1112

原创 QML基础:语言环境Locale

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!语言环境Locale提供特定于语言环境的属性和格式化的数据。详细说明只能通过Qt.locale()函数创建Locale对象,不能直接创建。Qt.locale()函数返回一个JS Locale对象,该对象代表具有指定名称的语言环境,格式为“language[_territory][.codeset][@modifier]”或者“C”。locale

2020-07-15 16:25:22 682

原创 QML基础:QML日期类型Date

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!日期类型Date方法:string fromLocaleDateString(locale, dateString, format)string fromLocaleString(locale, dateTimeString, format)string fromLocaleTimeString(locale, timeString, form

2020-07-15 16:24:43 4107 1

原创 QML基础:QML信号连接

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!信号连接类型ConnectionsConnections对象创建与QML信号的连接。当连接到QML中的信号时,通常的方法是创建一个“on”处理程序,该处理程序在接收到信号时做出反应,如下所示:MouseArea { onClicked:{ foo( parameters)}} 但是在某些情况下,不能以这种方式连接信号。一个信号响应多个处理程

2020-07-15 16:24:00 1895

原创 QML基础:QML属性绑定(Binding)

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!QML属性绑定属性绑定就是建立目标对象对其他对象的依赖关系,当其他对象值发生改变时,目标对象也会改变,自动更新属性,达到动态属性的效果。绑定到不可访问的属性有时,有必要将一个对象的属性绑定到另一个未由QML实例化的对象属性,例如C++导出到QML的类的属性。可以使用Binding类型来建立此依赖关系,将任何值绑定到任何对象的属性。例如:在将“ap

2020-07-15 16:23:16 3669

原创 QML基础:通过C++定义QML类型

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!C++定义QML类型使用C++代码扩展QML时,可以在QML类型系统中注册C++类,使该类可用于QML代码中的数据类型。C++类需要将属性、方法、信号等暴露给QML后,QML才能使用。另外,注册类型还有:不可实例化对象类型、单例类型。注册可实例化对象类型任何QObject派生的C++类都可以注册为QML对象类型。C++类注册到QML类型系统后,

2020-07-15 16:22:42 425

原创 QML基础:QML对象类型介绍

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!QML对象类型用语法术语来说,QML对象类型是一种可以用来声明对象的方法,方法是指定类型每次,后跟一组包含该对象属性的花括号。这与基本类型不同,基本类型不能以该方式使用。例如:Rectangle是QML对象类型,可用于创建Rectangle类型的对象。像int和bool这种基本类型只能保持简单的数据类型,而不是对象。定义QML对象类型通过QML文

2020-07-15 16:21:46 973

原创 QML基础:QML类型系统

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!QML类型系统在QML文档中的对象层次结构中可以使用的类型包含以下:由QML语言本身提供(基本类型)QML模块通过C++注册由QML模块作为QML文档提供(通过import导入的)自定义模块(通过import导入)无论类型定义来自何处,引擎都会对这些类型的属性和实例强制执行类型安全基本类型(参考上一章内容)JavaScript类型Q

2020-07-15 16:21:03 348

原创 QML基础:导入(import)

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!基本类型的属性更改信号一些基本类型具有属性(例如:Text类型具有pixelSize,family和bold属性)。与对象类型的属性不同,基本类型的属性不提供自己属性更改信号,只能为基本类型属性本身创建属性更改信号处理程序:Text { // invalid! onFont.pixelSizeChanged: doSomething(

2020-07-15 16:18:43 2382

原创 QML基础:基本类型

引言用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。注:学习有误的望指点一二,不喜勿喷!!!基本类型QML语言本身支持的基本类型:类型描述booltrue/falsedouble双精度小数enumeration命名枚举int整型listQML对象列表real带小数点的数字string字符串url资源地址var通用属性类型QML模块提供的基本类型:

2020-07-15 16:17:37 233

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除