QMLDay2:圆角按钮,关联键盘左右键,鼠标点击。状态切换控制。

QMLDay2

test1

作用:

圆角按钮,关联键盘左右键,鼠标点击。状态切换控制。

代码:

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15Window {width: 640height: 480visible: truecolor: "white"title: qsTr("Hello World")Rectangle {id: btn1width: 200height: 200focus: trueobjectName: "btn1"radius: 20 // 控制圆角的半径//color: "purple" // 默认按钮的背景颜色//border.color: "black" // 默认边框颜色border.width: 2 // 默认边框宽度Text {anchors.centerIn: parenttext: "左!"color: "green" // 文本颜色font.pixelSize: 16 // 字体大小}MouseArea {anchors.fill: parentonClicked: {console.log("Button clicked!")btn1.state = "pressed"btn2.state = "default"}}// 定义按钮的状态states: [State {name: "pressed"// 设置按钮选中时的样式PropertyChanges {target: btn1color: "pink" // 按钮背景颜色border.color: "yellow" // 边框颜色}},State {name: "default" // 默认状态// 设置按钮默认状态的样式PropertyChanges {target: btn1color: "purple" // 按钮背景颜色border.color: "black" // 边框颜色}}]// 设置默认状态state: "default"// 定义按钮状态切换的过渡效果transitions: Transition {from: "*"//表示该过渡效果适用于任何状态。to: "default"//表示该过渡效果用于从任何状态切换到"default"状态。NumberAnimation { properties: "color,border.color"; duration: 200 }//NumberAnimation是指定动画类型为数字动画,它可以控制目标属性的数值变化。//properties: "color, border.color"表示这个动画将同时作用于color和border.color属性。//这意味着在按钮状态切换时,按钮的背景颜色和边框颜色都会通过动画进行过渡。}}Rectangle {id: btn2x: 300width: 200height: 200objectName: "btn2"radius: 20 // 控制圆角的半径//color: "purple" // 默认按钮的背景颜色//border.color: "black" // 默认边框颜色border.width: 2 // 默认边框宽度Text {anchors.centerIn: parenttext: "右!"color: "green" // 文本颜色font.pixelSize: 16 // 字体大小}MouseArea {anchors.fill: parentonClicked: {console.log("Button clicked!")btn2.state = "pressed"btn1.state = "default"}}// 定义按钮的状态states: [State {name: "pressed"// 设置按钮选中时的样式PropertyChanges {target: btn2color: "pink" // 按钮背景颜色border.color: "yellow" // 边框颜色}},State {name: "default" // 默认状态// 设置按钮默认状态的样式PropertyChanges {target: btn2color: "purple" // 按钮背景颜色border.color: "black" // 边框颜色}}]// 设置默认状态state: "default"// 定义按钮状态切换的过渡效果transitions: Transition {from: "*"to: "default"NumberAnimation { properties: "color,border.color"; duration: 200 }}}// 处理键盘事件Shortcut {sequence: "Left"onActivated: {btn1.state = "pressed"btn2.state = "default"}}Shortcut {sequence: "Right"onActivated: {btn2.state = "pressed"btn1.state = "default"}}
}

运行截图

image-20230801115531312

image-20230801115640220

        btn1.state = "default"}
}

}


### 运行截图[外链图片转存中...(img-fw71flua-1690883676631)][外链图片转存中...(img-5WUqxaa0-1690883676632)]

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

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

相关文章

mysql--InnoDB存储引擎--架构和事务

MySQL进阶篇 文章目录 架构1、逻辑结构InnoDB 逻辑存储单元主层级关系图:1、表空间2、段3、区4、页5、行总结: 2、架构2、1 内存架构2、2 磁盘架构 3、事务3、1事务基础(1)事务(2)特性 架构 1、逻辑结构 I…

IO进线程——库的制作(静态库、动态库)

库的制作 1、静态库 ①生成二进制文件 gcc -c linkstack.c -o linkstack.o②制作静态库文件,把.o文件转换为.a文件 ar crs liblinkstack.a linkstack.o③编译时链接 gcc linkstack_main.c -L. -llinkstack2、动态库 ①生成地址无关二进制文件 gcc -fPIC -c l…

实现 rollup 实现多模块打包

rollup 是一个 JavaScript 模块打包器,可以将许多 JavaScript 库和应用程序打包成少量的捆绑包,从而提高了应用程序的性能。本文详细描述如何通过 rollup 实现多模块打包。 前提 项目的目录结构 先看下项目的 package.json 文件夹: {&qu…

谨慎使用JSON.stringify

谨慎使用JSON.stringify 为了避免因为对象是引用类型而造成的数据源污染,我们通常使用 JSON.stringify 将其转换为字符串,而后通过JSON.parse方法将字符串转化一个新对象来实现深拷贝。但是在这个过程中也会存在一些问题,本文就介绍一下使用…

我的 365 天创作纪念日

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

【Unity造轮子】实现一个类csgo的武器轮盘功能

文章目录 前言素材导入开始1.放背景和中间的圆圈,调整合适的宽高和位置2.添加选择图像框3.添加一些武器道具选择4.书写脚本RadialMenuManager5.绑定脚本和对象6.运行效果,按tab键开启关闭轮盘7.优化添加显示选中的武器文本8.添加鼠标选中放大的效果9.添加…

MySQL和Oracle区别

由于SQL Server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别 (1) 对事务的提交 MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮 (2) 分页查询 MySQL是直接在SQL…

JIT 与 C#热更

JIT与AOT 一般程序运行有两种方式,静态编译与动态编译。 AOT: Ahead Of Time,预先(静态)编译 静态编译的程序,需要在执行之前全部翻译为机器码,运行前会使得程序安装时间相对较长,但程序运行的时候&#…

自然语言处理从入门到应用——LangChain:提示(Prompts)-[提示模板:基础知识]

分类目录:《自然语言处理从入门到应用》总目录 语言模型以文本作为输入,这段文本通常被称为提示(Prompt)。通常情况下,这不仅仅是一个硬编码的字符串,而是模板、示例和用户输入的组合。LangChain提供了多个…

加载已训练好的目标检测YOLOv8,v5,v3,v6模型,对数据集中某张图片中的object打上方框、标出类别,并将图片保存到本地

参考的教程:Python - Ultralytics YOLOv8 Docs 在与ultralytics代码同一层级下新建 predict.py 里面写下面的内容。运行即可 from ultralytics import YOLO from PIL import Image import cv2# 加载计划使用的模型 model YOLO("yolov8n.pt") # load a…

SQL力扣练习(九)

目录 1.订单最多的用户(586) 示例 1 解法一(limit) 解法二(dense_rank()) 2.体育馆的人流量 示例 1 解法一(临时表) 解法二(三表法) 1.订单最多的用户(586) 表: Orders --------------------------- | Column Name | Type | ---------…

2023年的深度学习入门指南(24) - 处理音频的大模型 OpenAI Whisper

2023年的深度学习入门指南(24) - 处理音频的大模型 OpenAI Whisper 在这一讲之前,我们所用的大模型都是针对文本的。这一讲我们增加一个新的领域,即音频。我们将介绍OpenAI的Whisper模型,它是一个处理音频的大模型。 Whisper模型的用法 Wh…

Qt信号与槽机制的本质

引入 对象与对象之间的通信有多个方式,如果我们要提供一种对象之间的通信机制。这种机制,要能够给两个不同对象中的函数建立映射关系,前者被调用时后者也能被自动调用。 再深入一些,两个对象如果都互相不知道对方的存在&#xff…

leetcode每日一练-第102题-二叉树的层序遍历

一、思路 BFS 二、解题方法 通过广度优先搜索(BFS)的方式,按层遍历二叉树节点,并将每层的节点值保存在一个一维数组中,然后再将所有的一维数组存储在二维数组中,最后返回二维数组作为层序遍历的结果。 …

三菱plcCCLINK转profinet与西门子PLC通讯案例分析

用三菱PLC的控制系统需要和西门子的PLC控制系统交互数据,捷米JM-PN-CCLK 是自主研发的一款 PROFINET 从站功能的通讯网关。该产品主要功能是将各种 CCLINK 总线和 PROFINET 网络连接起来。 捷米JM-PN-CCLK总线中做为从站使用,连接到 CCLINK 总线中做为…

地产变革中,物业等风来

2023年7月,也许是中国房地产行业变局中的一个大拐点。 中信建投研报表示,政治局会议指出当前我国房地产形势已发生重大变化,要适时调整优化政策,为行业形势定调……当前房地产行业β已至。 不久前,国家统计局公布了2…

洞悉安全现状,建设网络安全防护新体系

一、“网络攻防演练行动“介绍 国家在2016年发布《网络安全法》,出台网络安全攻防演练相关规定:关键信息基础设施的运营者应“制定网络安全事件应急预案,并定期进行演练”。同年“实战化网络攻防演练行动”成为惯例。由公安部牵头&#xff0…

Monorepo

❌现有的架构可能会遇到什么问题 分散的git仓库 随着时间的沉淀,项目数量在飞速增长,增加了项目的工程管理难度 怎么区分来源呢? 通过git目录划分通过项目命名 新员工入职的时候需要,需要下载代码并安装所需的依赖。在这种情…

计算机毕设 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉…

【技术讨论】RF环境搭建手册

简要整理下环境搭建的步骤,以便快速、准确的搭建测试环境。 一、环境搭建 一、Python 2.7 1、 不要用Python3.6,很多库3.6中还没有,wxPython官方只支持Python 2。 2、 环境变量配置后需要重启才能生效。 3、 环境变量添加C:\Python27\Sc…