当前位置: 首页 > article >正文

QML学习01(设置宽度、高度、坐标点、标题,信号与槽,键盘事件)

QML学习

  • 1、前言
  • 2、QML
  • 3、QML和QWidget的区别
  • 3、QtQuick下的Windows应用
  • 4、总结

1、前言

记录一下QML学习的过程,方便自己日后回顾,也可以给有需要的人提供帮助。

2、QML

QML是 Qt 框架中的一种声明式编程语言,专门用于快速设计和开发用户界面(UI)

3、QML和QWidget的区别

特性QML(Qt Quick)QWidget
实现语言QML/JavaScriptC++
动态界面流畅动画、触摸交互动画性能差,适合静态布局
适用场景现代界面、动画传统桌面应用
跨平台支持移动端(Android/iOS)、嵌入式主要支持桌面端(Windows/macOS/Linux)
复杂性需与C++后端结合直接通过C++实现
开发效率快速迭代,适合UI密集型项目编码量大,适合逻辑密集型项目

3、QtQuick下的Windows应用

主要讲QML在Windws下如何设置宽度,高度,坐标点,标题,信号与槽,键盘事件
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
Window {    //root控件    父窗口是主界面visible: truewidth: 640height: 480title: qsTr("My QML")signal mysignal()       //信号property int myValue: 0minimumWidth: 300       //最小宽度minimumHeight: 400      //最小高度maximumWidth: 700       //最大宽度maximumHeight: 600      //最大高度opacity: 0.8       //不透明度0-1//触发信号,名称第一个字母要大写onMysignal: {}//改变宽度,也会触发槽函数onWidthChanged: {console.log("width",width)}//自动生成属性修改槽函数onMyValueChanged: {}//按钮1Button {id:btn1focus: trueobjectName: "btn1"width: 50height: 50background: Rectangle{border.color: btn1.focus ? "blue" : "back"}//点击事件onClicked: {console.log("btn1 clicked");}//键盘事件//按下键盘右键,焦点移动到btn2上Keys.onRightPressed: {btn2.focus = true;}}//按钮2Button {id:btn2x:100objectName: "btn2"width: 50height: 50background: Rectangle{border.color: btn2.focus ? "blue" : "back"}onClicked: {console.log("btn2 clicked");}//键盘事件//按下键盘左键,焦点移动到btn2上Keys.onLeftPressed: {btn1.focus = true;}}//控件焦点onActiveFocusItemChanged: {console.log("active focus item changed",activeFocusItem,"object name",activeFocusItem.objectName)}
}

4、总结

以上就是QML的一些基础知识了,后续还会继续更新,浏览过程中,如若发现错误,欢迎大家指正,有问题的欢迎评论区留言或者私信。最后,如果大家觉得有所帮助,可以点一下赞,谢谢大家!祝大家天天开心,顺遂无虞!

相关文章:

QML学习01(设置宽度、高度、坐标点、标题,信号与槽,键盘事件)

QML学习 1、前言2、QML3、QML和QWidget的区别3、QtQuick下的Windows应用4、总结 1、前言 记录一下QML学习的过程,方便自己日后回顾,也可以给有需要的人提供帮助。 2、QML QML是 Qt 框架中的一种声明式编程语言,专门用于快速设计和开发用户…...

uniapp+vue3中自动导入ref等依赖

前言: 在我们使用uni-appvue3创建项目,开发的过程中,老是需要导入我们的ref、onshow等,那么能不能自动导入,不用我们每个页面都写呢?是没问题的,这里让他的小帮手来帮你减轻负担:他就…...

【.net core】.net core 6.0添加WCF服务引用

在 .NET Core 6.0 (.NET 6) 中,调用 WCF 服务 是完全支持的,只要服务使用的是 basicHttpBinding 或类似 HTTP 协议的绑定(如 wsHttpBinding,但不推荐) .NET Core不支持 net.tcp,只能用http形式。 .net core调用WCF服务…...

React学习———Redux 、 React Redux和react-persist

Redux Redux是一个流行的JavaScript状态管理库,通常用于React等前端框架结合使用。Redux 的设计思想是让应用的状态变得可预测、可追踪、易于调试和测试。 Redux的核心l理念 单一数据源:整个应用的状态被存储在一个唯一的Store对象中,所有…...

小结: js 在浏览器执行原理

浏览器多进程与多线程 现代浏览器的标签环境隔离主要通过多进程架构和多线程机制实现,以确保安全、性能和稳定性。以下是浏览器实现标签环境隔离的多进程和多线程交互架构的详细解析: ------------------- ------------------- -----------…...

【实战篇】低代码报表开发——平台运营日报表的开发实录

前言 myBuilder的推广有段时间了,想开发个报表看看平台运营的情况。采用myBuilder强大的报表、数据交换模块功能,直接开干。 1. 报表指标思考与概要设计 首先是报表模块的概要设计,先构思一下,我希望报表能查看新用户注册、活跃…...

51 单片机头文件 reg51.h 和 reg52.h 详解

51 单片机头文件详解 51 单片机的头文件reg51.h和reg52.h是开发中非常重要的文件,它们定义了单片机的特殊功能寄存器 (SFR) 和位地址。以下是对这两个头文件的详细解析: 1. 头文件概述 reg51.h:针对标准 8051 单片机(4KB ROM, 128B RAM) reg52.h:针对增强型 8052 单片…...

PyTorch中.item()函数:提取单元素张量值

PyTorch中,.item()函数是什么 在PyTorch代码中,.item() 主要用于从一个只包含单个元素的张量(Tensor)中提取出对应的Python标量值 ,具体作用和使用场景如下: 作用 获取数值:当通过计算得到一个张量,且该张量仅包含一个元素时,使用 .item() 方法可以方便地将这个元素…...

使用Qt操作SQLite数据库

目录 一、开发成果二、环境配置与基础概念1. 引入SQL模块2. SQLite数据库特性三、数据库连接与操作流程1. 创建并连接数据库2. 执行SQL语句3. 查询与遍历数据四、进阶操作与最佳实践1. 事务处理2. 错误处理3. 使用模型/视图架构五、完整代码示例(学生人员管理)1.mainwindow.h…...

ZYNQ笔记(二十):Clocking Wizard 动态配置

版本:Vivado2020.2(Vitis) 任务:ZYNQ PS端 通过 AXI4Lite 接口配置 Clocking Wizard IP核输出时钟频率 目录 一、介绍 二、寄存器定义 三、配置 四、PS端代码 一、介绍 Xilinx 的 Clock Wizard IP核 用于在 FPGA 中生成和管理…...

探秘高可用负载均衡集群:企业网络架构的稳固基石

目录 高可用负载均衡集群 一、集群的本质与核心价值​ 二、高可用集群与负载均衡集群的定义​ 高可用集群(HA Cluster)​ 负载均衡集群(Load Balance Cluster)​ 三.高可用与负载均衡的完美融合 四.…...

JAVA:ResponseBodyEmitter 实现异步流式推送的技术指南

1、简述 在许多场景下,我们希望后端能够以流式、实时的方式推送数据给前端,比如消息通知、日志实时展示、进度条更新等。Spring Boot 提供了 ResponseBodyEmitter 机制,可以让我们在 Controller 中异步地推送数据,从而实现实时流式输出。 样例代码:https://gitee.com/lh…...

CSS- 1.1 css选择器

本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。 HTML系列文章 已经收录在前端专栏,有需要的宝宝们可以点击前端专栏查看! 系…...

ABP-Book Store Application中文讲解 - Part 2: The Book List Page

本章用于介绍如何创建Book List Page。 TBD 1. 汇总 ABP-Book Store Application中文讲解-汇总-CSDN博客 2. 前一章 ABP-Book Store Application中文讲解 - Part 1: Creating the Server Side 项目之间的引用关系。 目录 1. 多语言配置 1.1 zh-Hans.json 1.2 en.jso…...

08 web 自动化之 PO 设计模式详解

文章目录 一、什么是 POM二、如何基于 POM 进行自动化框架架构?1、base 层封装2、pageobjects 层封装3、TestCases 层封装 三、元素和方法分离&数据分离1、哪些部分可以进行分离2、示例代码 四、总结 一、什么是 POM POM page object model 页面对象模型 WEB 自…...

langchain4j集成QWen、Redis聊天记忆持久化

langchain4j实现聊天记忆默认是基于进程内存的方式,InMemoryChatMemoryStore是具体的实现了,是将聊天记录到一个map中,如果用户大的话,会造成内存溢出以及数据安全问题。位了解决这个问题 langchain4提供了ChatMemoryStore接口&am…...

WebGL图形编程实战【7】:变换流水线 × 坐标系与矩阵精讲

变换流水线 #mermaid-svg-Omabd9LSNCdIvWqB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Omabd9LSNCdIvWqB .error-icon{fill:#552222;}#mermaid-svg-Omabd9LSNCdIvWqB .error-text{fill:#552222;stroke:#552222;…...

在Angular中使用Leaflet构建地图应用

Leaflet是一个用于创建地图的JavaScript库,它包含许多功能,并且非常适用于移动设备。 准备 nodejs: v20.15.0 npm: 10.7.0 angular: 19.2.10 创建一个地图应用工程 npx angular/cli new my-leaflet-app --stylecss --routingfalse --skip-tests提示 …...

鸿蒙next播放B站视频横屏后的问题

(此文讨论范围为b站视频链接,且不包括b站直播链接;android/iOS的webview播放b站视频完全没有这么多问题) 1、竖屏播放没问题 从一个竖屏页p1点击进入视频页p2,p2页仍为竖屏; p2页有一Web组件,…...

DVWA靶场通关笔记-SQL注入(SQL Injection Medium级别)

目录 一、SQL Injection 二、代码审计(Medium级别) 1、源码分析 (1)index.php (2)Medium.php 2、渗透思路 (1)SQL安全问题分析 (2)SQL渗透思路 三、…...

vue异步导入

vue的异步导入 大家开发vue的时候或多或少路由的异步导入 component: () >import(“/views/A_centerControl/intelligent-control/access-user-group”),当然这是路由页面,那么组件也是可以异步导入的 使用方式 组件的异步导入非常简单,主要是一个…...

【Redis】压缩列表

目录 1、背景2、压缩列表【1】底层结构【2】特性【3】优缺点 1、背景 ziplist(压缩列表)是redis中一种特殊编码的双向链表数据结构,主要用于存储小型列表和哈希表。它通过紧凑的内存布局和特殊的编码方式来节省内存空间。 2、压缩列表 【1…...

2025年,如何制作并部署一个完整的个人博客网站

欢迎访问我的个人博客网站:欢迎来到Turnin的个人博客 github开源地址:https://github.com/Re-restart/my_website 前言 2024年年初,从dji实习回来之后,我一直想着拓宽自己的知识边界。在那里我发现虽然大家不用java,…...

.NET 8 + Angular WebSocket 高并发性能优化

.NET 8 Angular WebSocket 高并发性能优化。 .NET 8 WebSocket 高并发性能优化 WebSocket 是一种全双工通信协议,允许客户端和服务端之间保持持久连接。在高并发场景下,优化 WebSocket 的性能至关重要。以下是针对 .NET 8 中 WebSocket 高并发性能优化…...

腾讯云运营开发 golang一面

redis为什么单线程会快 每秒10w吞吐量 io多路复用 一个文件描述符整体拷贝;调用epoll_ctl 单个传递 内核遍历文件描述符判断是否有事件发送;回调函数列表维护 修改有事件发送的socket为可读或可写,返回整个文件描述符;返回链…...

一个简单的静态页面

这个页面采用了现代化的 UI 设计&#xff0c;包括卡片式布局、微交互动画、分层设计和响应式结构。页面结构清晰&#xff0c;包含导航栏、英雄区域、功能介绍、产品特性、用户评价和联系表单等完整组件&#xff0c;可作为企业官网或产品介绍页面的基础模板。 登录后复制 <!D…...

使用 163 邮箱实现 Spring Boot 邮箱验证码登录

使用 163 邮箱实现 Spring Boot 邮箱验证码登录 本文将详细介绍如何使用网易 163 邮箱作为 SMTP 邮件服务器&#xff0c;实现 Spring Boot 项目中的邮件验证码发送功能&#xff0c;并解决常见配置报错问题。 一、为什么需要邮箱授权码&#xff1f; 出于安全考虑&#xff0c;大…...

多模态大语言模型arxiv论文略读(六十八)

Image-of-Thought Prompting for Visual Reasoning Refinement in Multimodal Large Language Models ➡️ 论文标题&#xff1a;Image-of-Thought Prompting for Visual Reasoning Refinement in Multimodal Large Language Models ➡️ 论文作者&#xff1a;Qiji Zhou, Ruoc…...

APS「多目标平衡算法」如何破解效率与弹性的永恒博弈

APS&#xff08;高级计划与排程&#xff09;系统作为企业智能制造的核心引擎&#xff0c;通过整合需求预测、产能规划、生产调度、物料管理及数据分析等模块&#xff0c;构建了覆盖产品全生产流程的“感知-决策-执行-优化”闭环体系。 精准需求预测 APS系统通过构建需求特征数…...

网张实验操作-防火墙+NAT

实验目的 了解防火墙&#xff08;ENSP中的USG5500&#xff09;域间转发策略配置、NAT&#xff08;与路由器NAT配置命令不同&#xff09;配置。 网络拓扑 两个防火墙连接分别连接一个内网&#xff0c;中间通过路由器连接。配置NAT之后&#xff0c;内网PC可以ping公网&#xf…...