(1) 初识QT5

文章目录

  • Qt Quick
    • demo
        • 信号的命名方式
      • qml语言一个很重要的概念
    • qt 模块

Qt Quick

Qt Quick是Qt5中⽤户界⾯技术的涵盖。Qt Quick⾃⾝包含了以下⼏种技术:

  • QML-使⽤于⽤户界⾯的标识语⾔
  • JavaScript-动态脚本语⾔
  • Qt C++具有⾼度可移植性的C++库.
    在这里插入图片描述
    类似HTML语⾔,QML是⼀个标识语⾔。它由QtQuick封装在Item {}的元素的
    标识组成。它从头设计了⽤户界⾯的创建,并且可以让开发⼈员快速,简单
    的理解。⽤户界⾯可以使⽤JavaScript代码来提供和加强更多的功能。Qt
    Quick可以使⽤你⾃⼰本地已有的Qt C++轻松快速的扩展它的能⼒。简单声
    明的UI被称作前端,本地部分被称作后端。这样你可以将程序的计算密集部
    分与来⾃应⽤程序⽤户界⾯操作部分分开。

demo

在这里插入图片描述

import QtQuick 2.9
import QtQuick.Window 2.2

Window {
    visible: true
    width: root.width
    height: root.height
    Image {

        id: root
        source: "images/background.png"

        Image {
            id: pole
            anchors.horizontalCenter: parent.horizontalCenter
            anchors.bottom: parent.bottom
            //你需要进⾏⼀些微⼩的调整。使⽤anchors.horizontalCenterOffset或
			//者anchors.verticalCenterOffset可以帮你实现这个功能
            anchors.bottomMargin: 75
            source: "images/pole.png"
        }
        Image {

            id: wheel
            anchors.centerIn: parent
            z: 1
            source: "images/pinwheel.png"
            //当⽤户点击覆盖区域时,⿏标区域会发出⼀个信号。你可以重写onClicked函数来链接这个信号。在这个案例中引⽤了⻛⻋的图像并且让他旋转增加90
//度
            MouseArea {
                anchors.fill: parent
                onClicked: wheel.rotation += 90
            }
            //现在每当⻛⻋旋转⾓度发⽣改变时都会使⽤NumberAnimation来实现250毫秒的旋转动画效果。每⼀次90度的转变都需要花费250ms。
            Behavior on rotation {
                NumberAnimation {
                    duration: 250
                }
            }
        }
    }
}

我们使⽤了⼀个复杂的属性,称之为锚。锚定
允许你指定⼏何对象与⽗对象或者同级对象之间的位置关系。⽐如放置我在
另⼀个元素中间(anchors.centerIn:parent).有左边(left),右边
(right),顶部(top),底部(bottom),中央(centerIn),填充
(fill),垂直中央(verticalCenter)和⽔平中央(horizontalCenter)来表⽰
元素之间的关系。

对于每个⼯作的信号,命名⽅式都是on + SignalName的标题。当属性的值
发⽣改变时也会发出⼀个信号。它们的命名⽅式是:on + PropertyName +
Chagned。 如果⼀个宽度(width)属性改变了,你可以使⽤
onWidthChanged: print(width)来得到这个监控这个新的宽度值。

信号的命名方式

对于每个⼯作的信号,命名⽅式都是on + SignalName的标题。当属性的值
发⽣改变时也会发出⼀个信号。它们的命名⽅式是:on + PropertyName +
Chagned。 如果⼀个宽度(width)属性改变了,你可以使⽤
onWidthChanged: print(width)来得到这个监控这个新的宽度值。

qml语言一个很重要的概念

将⼀个图像作为根矩形元素的⼦元素放置展⽰了⼀种声明式语⾔的重要概
念。你描述了⽤户界⾯的层和分组的顺序,最顶部的⼀层(根矩形框)先绘
制,然后⼦层按照包含它的元素局部坐标绘制在包含它的元素上。
根元素先绘制 后面的图像在它的基础上继续绘制

qt 模块

Qt5是由⼤量的模块组成的。⼀个模块通常情况下是⼀个库,提供给开发者使
⽤。⼀些模块是强制性⽤来⽀持Qt平台的,它们分成⼀组叫做Qt基础模块。
许多模块是可选的,它们分成⼀组叫做Qt附加模块,预计⼤多数得到开发⼈
员将不会使⽤它们,但是最好知道它们可以对⼀些通⽤的问题提供⾮常有价
值的解决⽅案。

Qt基础模块是对Qt⼀台的必要⽀持。它们使⽤Qt Quick 2开发Qt 5应⽤程序
的基础
在这里插入图片描述
在这里插入图片描述

qt还有其他附加的模块 可以自行的去了解一下

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

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

相关文章

生成式AI的GPU网络技术架构

生成式AI的GPU网络 引言:超大规模企业竞相部署拥有64K GPU的大型集群,以支撑各种生成式AI训练需求。尽管庞大Transformer模型与数据集需数千GPU,但实现GPU间任意非阻塞连接或显冗余。如何高效利用资源,成为业界关注焦点。 张量并…

泰达克TADHE uv胶水在粘接聚酰亚胺(Polyimide,PI)时具有一些优势,并在各行业中得到了广泛应用,尤其是在特定应用中

泰达克TADHE uv胶水在粘接聚酰亚胺(Polyimide,PI)时具有一些优势,并在各行业中得到了广泛应用,尤其是在特定应用中。以下是一些使用UV胶水粘接PI的优势: 1.快速固化: UV胶水通过紫外线照射进行固…

Java进阶学习笔记23——API概述

API: API(Application Programming Interface)应用程序编程接口 就是Java帮我们写好了一些程序:如类、方法等等,我们直接拿过来用就可以解决一些问题。 为什么要学别人写好的程序? 不要重复造轮子。开发…

回文链表(快慢指针解法之在推进过程中反转)

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝抱怨深处黑暗,不如提灯前行…

系统开发与运行知识

系统开发与运行知识 导航 文章目录 系统开发与运行知识导航一、软件工程二、软件生命周期三、开发模型四、开发方法五、需求分析结构化分析 六、数据流图分层数据流图的画法设计注意事项 七、数据字典数据字典的内容 八、系统设计九、结构化设计常用工具十、面向对象十一、UML…

【Windows】本地磁盘挂载 Minio 桶

目录 1.软件安装安装winfsp支持安装rclone 2.新建rclone远程存储类型S3服务类型验证方式地区终端地址ACL服务端加密KMS 3.挂载存储盘 1.软件安装 安装winfsp支持 下载地址 或 下载地址2 文件为msi文件,下载后双击直接安装即可,可以选择安装路径 安装r…

接口响应断言-json

json认识JSONPath源码类学习/json串的解析拓展学习 目的:数据返回值校验测试 json认识 json是什么-是一种数据交换格式,举例平时看到的json图2,在使用中查看不方便,会有格式转化的平台,json格式的展示 JSON在线视图…

【好书推荐-第十八期】《 进化深度学习》

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公众号:洲与AI。 🎈 本文专栏:本文收录…

德比软件携手亚马逊云科技,用生成式AI赋能旅游行业降本增效

旅游行业是最早被数字化技术赋能的行业之一。比如,消费者早已习惯在携程、艺龙、Booking等OTA平台根据实时酒店信息预订酒店。 这种丝滑的消费者体验背后,离不开领先的管理软件支撑。实际上大型酒店集团与OTA平台之间的系统对接非常复杂,酒店…

在线教程丨与 Sora 技术路线相似!全球首个开源文生视频 DiT 模型 Latte 一键部署

自OpenAI推出 Sora 以来,「文生视频」概念及相关应用备受瞩目。而伴随 Sora 的大热,其背后的关键技术,DiT(Diffusion Transformers) 也被「考古挖掘」了出来。 事实上,DiT 是一个文生图模型,该模型于两年前开源&#x…

双指针技巧,链表

双指针链表 虚拟头节点双指针,都要用虚拟1头节点 合并两个有序链表 设置双指针,都指向虚拟头节点 ListNode list1 代表的是头节点 class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode dummynew ListNode(-1…

怎么压缩pdf pdf在线压缩 pdf文件压缩大小

pdf文件无论在何种设备上打开,PDF文件都能保持其原始的布局和格式,这对于文档共享和打印非常重要。PDF不仅支持文本,还能嵌入图像、视频、音频以及动态链接等元素。PDF文件支持加密和密码保护,可以限制访问、编辑、复制或打印文档…

5.命令行提示符

一、打开终端(有以下几种方式) 1.在搜索框输入 terminal 2.命令 (1)ctrlaltt打开新的终端 (2)ctrlshiftt:在已经打开终端的基础内,新打开一个同路径的终端。 (3&#xf…

鸿蒙开发接口图形图像:【@ohos.screen (屏幕)】

屏幕 本模块提供管理屏幕的一些基础能力,包括获取屏幕对象,监听屏幕变化,创建和销毁虚拟屏幕等。 说明:开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。…

ES学习圣经:从0到1, 精通 ElasticSearch 工业级使用

尼恩:百亿级数据存储架构起源 在40岁老架构师 尼恩的读者交流群(50)中,经常性的指导小伙伴们改造简历。 经过尼恩的改造之后,很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会&#xff0c…

手绘任意波

上位机发送手绘波形数据,下位机接收并输出。 支持 STM32 STC arduino Pico 等多种单片机,内置或外置 DAC 实现。 ​​​​​​​ 篇幅所限,更多内容请访问我的网站: jiangge12.github.io 十二江哥的网站 (jiangge12.github.io)…

Django 入门教程

1. Django简介 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 MVC 与 MVT 模型 MVC 模型 MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型&am…

python数据可视化:自定义闭合区域填充颜色matplotlib.pyplot.fill()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 python数据可视化: 自定义闭合区域填充颜色 matplotlib.pyplot.fill() [太阳]选择题 以下关于matplotlib.pyplot.fill()函数说法正确的是? import matplotlib.pyplo…

vue 微信公众号定时发送模版消息

目录 第一步:公众号设置 网页授权第二步:引导用户去授权页面并获取code第三步:通过code换取网页授权access_token&openid第四步:后端处理绑定用户和发送消息 相关文档链接: 1、微信开发文档 2、订阅号/服务号/企业…

Hadoop伪分布式搭建

1 配置SSH免密登录 1.生成密钥 # ssh-keygen -t rsa 注意:需要经过4次回车 查看密钥及公钥 # cd /root/.ssh 拷贝公钥 # cp id_rsa.pub authorized_keys 2 测试本地免密登录 2 下载Hadoop安装包 使用wget命令从华为云上下载Hadoop安装文件 # wget -P /opt https://m…