QML- QML视觉元素类型

news/2024/4/29 3:20:37/文章来源:https://blog.csdn.net/qq_43680827/article/details/129680397

QML视觉元素类型

  • 一、概述
  • 一、图像类型
  • 三、共享视觉属性
    • 1. 不透明度和可见性
    • 2. 转换(转置)

一、概述

对于最基本的视觉效果,Qt Quick提供了一个 Rectangle 类型来绘制矩形。这些矩形可以用颜色或垂直渐变来着色。 Rectangle 还可以在矩形上绘制边框。通过设置border属性,当然可以绘制圆角的,很多QQuick Ctrol 都是用这些rectangle来做的,自定义一些属性也是的。若要绘制矩形以外的自定义形状,请参阅“Canvas”类型 或 使用“Image”类型显示预渲染图像。Canvas 其实就是类似 Qt C++ 里面的 QPainter,可以自定义的绘制一些样式。也是自定义控件或者绘图会使用到的。

import QtQuick 2.3Item {width: 320height: 480Rectangle {color: "#272822"width: 320height: 480}// This element displays a rectangle with a gradient and a borderRectangle {x: 160y: 20width: 100height: 100radius: 8 // This gives rounded corners to the Rectanglegradient: Gradient { // This sets a vertical gradient fillGradientStop { position: 0.0; color: "aqua" }GradientStop { position: 1.0; color: "teal" }}border { width: 3; color: "white" } // This sets a 3px wide black border to be drawn}// This rectangle is a plain color with no borderRectangle {x: 40y: 20width: 100height: 100color: "red"}}

简单的效果如下图:
在这里插入图片描述

一、图像类型

Qt Quick提供了一个Image类型,可以用来显示图像。Image类型有一个source属性,其值可以是远程URL或本地URL,也可以是嵌入在已编译资源文件中的图像文件的URL。

//该元素显示一个图像。因为源是在线的,所以可能需要一些时间来获取

// This element displays an image. Because the source is online, it may take some time to fetchImage {x: 40y: 20width: 61height: 73source: "http://codereview.qt-project.org/static/logo_qt.png"}

对于更复杂的图像,还有其他类似于Image的类型。BorderImage使用网格缩放绘制图像,适用于用作边界的图像AnimatedImage播放gif和mng动画图像AnimatedSprite和SpriteSequence播放由多个相邻存储的非动画图像格式的帧组成的动画

要显示视频文件和相机上数据,请参阅Qt多媒体模块。

三、共享视觉属性

Qt Quick提供的所有可视项都基于Item类型,该类型为可视项提供了一组公共属性,包括不透明度和转换属性。

1. 不透明度和可见性

Qt Quick提供的QML对象类型内置了对不透明度的支持。opacity 可以被动画化,以允许平滑过渡到或从透明状态。可见性也可以更有效地使用 visible 属性进行管理,但代价是不能对其进行动画化。可见性只有两个状态,不具备中间转换状态。

import QtQuick 2.3Item {width: 320height: 480Rectangle {color: "#272822"width: 320height: 480}Item {x: 20y: 270width: 200height: 200MouseArea {anchors.fill: parentonClicked: topRect.visible = !topRect.visible}Rectangle {x: 20y: 20width: 100height: 100color: "red"}Rectangle {id: topRectopacity: 0.5x: 100y: 100width: 100height: 100color: "blue"}}}

在这里插入图片描述

2. 转换(转置)

Qt Quick类型有内置的转换支持。如果您希望旋转或缩放可视内容,可以设置 Item::rotation 或 Item::scale 属性。这些也可以被动画化。

import QtQuick 2.3Item {width: 320height: 480Rectangle {color: "#272822"width: 320height: 480}Rectangle {rotation: 45 // This rotates the Rectangle by 45 degreesx: 20y: 160width: 100height: 100color: "blue"}Rectangle {scale: 0.8 // This scales the Rectangle down to 80% sizex: 160y: 160width: 100height: 100color: "green"}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_273969.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QuestDb 基础使用

一、安装 Download QuestDB | QuestDB 可去官网直接下载对应版本,我这里是Windows版本 二、运行 找到Bin目录运行 管理员Cmd,输入 questDb.exe,即可运行,默认webConsole端口 9000,可在bin下 server.config去修改。 效果如下 …

Mac安装Nacos

参考链接: https://nacos.io/zh-cn/docs/quick-start.html 文章目录Nacos安装下载和解压启动和关闭Nacos什么是nacos?Nacos架构基本架构及概念逻辑架构及其组件介绍领域模型数据模型服务领域模型配置领域模型类视图Nacos安装 下载和解压 从链接中下载最新的版本 …

Vue基础25之路由第四节

Vue基础25路由编程式路由导航Home.vue(去掉两个router-line的replace)HomeMessage.vueBanner.vue总结缓存路由组件Home.vueHomeNews.vueHomeMessage.vue总结两个新的生命周期钩子HomeNews.vueHomeMessage.vueHome.vue总结全局路由守卫路由前置守卫src/router/index.js路由后置守…

Qt QShortCut快捷键原理、实现和应用

应用 QShortCut方式的快捷键有好几种使用方式: 1.通过绑定QAction或QMenu的方式。QAction和QMenu都提供了setShortcut()接口; 2.实例化一个对象:然后绑定信号槽activated()信号: auto shortcut new QShortcut(QKeySequence(tr(…

Postgresql源码(102)子事务控制语句分析

1 子事务控制语句分析 1.1 执行savepoint 执行函数: 【立即执行】→DefineSavepoint→PushTransaction(从utility框架进入)【延迟执行】→StartSubTransaction(从顶层事务框架CommitTransactionCommand进入) 准入条…

差分毫伏输出传感器信号隔离转换模块放大器0-10mV/0-20mV/0-±10mV/0-±20mV

概述:DIN11 IPO 压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号导轨安装变送模块。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。此系列模块内部嵌入了一个高效微功率的电源,向输入…

代码随想录-57-106. 从中序与后序遍历序列构造二叉树

目录前言题目1.递归(区间,左闭右开)变量2. 本题思路分析:3. 算法实现4. 算法复杂度5. 算法坑点前言 在本科毕设结束后,我开始刷卡哥的“代码随想录”,每天一节。自己的总结笔记均会放在“算法刷题-代码随想…

Java注解怎么用

什么是注解 Java的注解(Annotation)是一种元数据,它可以提供程序的额外信息,帮助程序员更好地管理程序。注解通常被用作代码的标记或者指定某些行为的方式。在Java中,注解以符号开头,放在代码的各个位置&a…

【数据结构】千字深入浅出讲解队列(附原码 | 超详解)

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:C语言实现数据结构 💬总结:希望你看完…

linux驱动学习加强版-2(文件驱动的书写)

文章目录一、驱动的外设二、驱动操作文件原理三、编写一个驱动程序3.1 编写驱动程序的步骤3.1.2 确定主设备号以及注册驱动3.1.3 实现对应的函数四、一些错误现象一、驱动的外设 我们的设备硬件都需要驱动才能工作,没有驱动的硬件可以称之为废铁,没有硬…

spacesniffer文件大小查看工具安装和使用

软件描述 spacesniffer是一块可以快速查看电脑中所有文件大小的工具,当电脑空间不够时,可以迅速找出不需要的大提及文件。 一、软件下载 1、从网盘下载 spacesniffer文件大小查看工具 2、从官网下载 http://www.uderzo.it/main_products/space_sni…

供水管网微观水力模型

国外在管网建模方面起步于20世纪60年代。20世纪80年代,随着计算机及相应技术的发展,遥测远传设备的应用进入了实用化阶段,国内已有很多供水企业实现了供水管网建模。给水管网系统建模,就是为仿真模拟管网系统动态实时运行情况建立…

【论文阅读总结】用于目标检测的特征金字塔网络(FPN)

Feature Pyramid Networks for Object Detection1.摘要2.引言2.1 低级特征对于检测小物体很重要2.2 算法目标3. 文献综述3.1 Hand-engineered features and early neural networks3.2 Deep ConvNet object detectors3.3 Methods using multiple layers4.Feature Pyramid Networ…

LangChain:Prompt Templates介绍及应用

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

WPF+WebView2+react/vue/angular

创建WPF项目 安装WbeView2 Nuget包 在窗体中添加命名空间 xmlns:wv2"clr-namespace:Microsoft.Web.WebView2.Wpf;assemblyMicrosoft.Web.WebView2.Wpf"使用控件 <wv2:WebView2 x:Name"webview"/>在MainWindow中初始化 public MainWindow(){Initia…

什么是语法糖?Java中有哪些语法糖?

本文从 Java 编译原理角度&#xff0c;深入字节码及 class 文件&#xff0c;抽丝剥茧&#xff0c;了解 Java 中的语法糖原理及用法&#xff0c;帮助大家在学会如何使用 Java 语法糖的同时&#xff0c;了解这些语法糖背后的原理1 语法糖语法糖&#xff08;Syntactic Sugar&#…

Linux syslog 日志服务

文章目录Syslog 概述syslog 协议标准syslog APIsyslog 日志文件日志文件介绍日志配置产生本地日志参考文章Syslog 概述 syslog 常被称为系统日志或系统记录&#xff0c;系统日志通过 syslog 进程记录系统的有关事件&#xff0c;也可以记录应用程序运作事件。通过适当配置&…

Python批量删除或移动指定图像

Python批量删除或移动指定图像前言一、批量删除指定名称的图像二、批量移动指定名称的图像前言 笔者的研究方向为计算机视觉&#xff0c;因此经常和大量图像打交道&#xff0c;有时需要批量删除一些图像&#xff0c;有时需要批量移动一些图像&#xff0c;因此编写了下述代码。下…

flink 读取文件数据写入ElasticSearch

前言 es是大数据存储的必备中间件之一,通过flink可以读取来自日志文件,kafka等外部数据源的数据,然后写入到es中,本篇将通过实例演示下完整的操作过程; 一、前置准备 1、提前搭建并开启es服务(本文使用docker搭建的es7.6的服务); 2、提前搭建并开启kibana服务(便于操…

【Java 】Java NIO 底层原理

文章目录1、 Java IO读写原理1.1 内核缓冲与进程缓冲区1.2 java IO读写的底层流程2、 四种主要的IO模型3、 同步阻塞IO&#xff08;Blocking IO&#xff09;4、 同步非阻塞NIO&#xff08;None Blocking IO&#xff09;5、 IO多路复用模型(I/O multiplexing&#xff09;6、 异步…