QML项目实战:自定义CheckBox

目录

一.添加模块

import QtQuick.Controls 1.2

import QtQuick.Controls.Styles 1.4

import QtGraphicalEffects 1.15

二.自定义CheckBox

1.CheckBox设置

2.勾选框设置

3.标签部分

4. 状态变化处理

5.文本设置

三.效果

1.当enabled为true

2.当enabled为true

3.当enabled为false


一.添加模块

import QtQuick.Controls 1.2

  1. 作用: 引入Qt Quick Controls模块,提供了一组常见的UI控件(如按钮、文本框等),用于快速开发现代用户界面。

  2. 性质: 这个模块包含了许多预定义的控件和样式,可以大大简化UI开发。版本号1.2表示你正在使用该模块的第1.2版。

import QtQuick.Controls.Styles 1.4

  1. 作用: 引入Qt Quick Controls Styles模块,这个模块扩展了Qt Quick Controls模块,提供了一些额外的样式和主题支持。

  2. 性质: 通过这个模块,你可以为你的应用程序应用不同的样式和主题,从而改变控件的外观。版本号1.4表示你正在使用该模块的第1.4版。

import QtGraphicalEffects 1.15

  1. 作用: 引入Qt Graphical Effects模块,提供了一组图形效果类,用于为UI元素添加视觉效果,如阴影、模糊、渐变等。

  2. 性质: 这个模块允许你在应用程序中实现复杂的视觉效果,提升用户体验。版本号1.15表示你正在使用该模块的第1.15版。

二.自定义CheckBox

1.CheckBox设置

activeFocusOnPress:在按下时使复选框获得焦点。

enabled:设置为 true,表示复选框可以被操作。

2.勾选框设置

1.根据 enabled 状态设置矩形的颜色。

2.根据 control.checkedState 的值设置边框颜色。如果 control.checkedState 为真,边框颜色为 #2850FF;否则为白色。

3.根据 control.checkedState 的值设置矩形的不透明度。如果 control.checkedState 等于 Qt.PartiallyChecked,不透明度为 0.5;否则为 1。

4.启用图层效果。 layer.effect: DropShadow { ... } 应用阴影效果,使矩形看起来有立体感

3.标签部分

4. 状态变化处理

5.文本设置

三.效果

1.当enabled为true

没有点击checkbox时,字体为黑色,不显示文本

2.当enabled为true

点击checkbox时,字体为黑色,显示文本并且出现勾选状态

3.当enabled为false

checkbox为不可点击状态,字体为灰色,不显示文本

四.代码

import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls         1.2
import QtQuick.Controls.Styles  1.4
import QtGraphicalEffects 1.15Window {visible: truewidth: 640height: 480title: qsTr("CheckBox")CheckBox {id:_checkboxanchors.centerIn: parentactiveFocusOnPress: trueenabled:falsestyle: CheckBoxStyle {spacing:  5indicator:Rectangle {id:             indRectanglewidth:   36height:  36radius:         6color:          enabled ? "#D7E1F0" : "#8B99B2"border.width:   2border.color:   control.checkedState ? "#2850FF" : "white"opacity:        control.checkedState === Qt.PartiallyChecked ? 0.5 : 1Image {anchors.left: parent.leftanchors.bottom: parent.bottomanchors.leftMargin: 1anchors.bottomMargin: 1source:     "qrc:/new/CheckSelect.png"visible:     control.checkedState === Qt.Checked ?  true : falsemipmap:     truefillMode:   Image.PreserveAspectFit}//淡阴影layer.enabled:      truelayer.effect:       DropShadow {verticalOffset: 3radius:         8samples:        17color:          "#4d000f43"}}label: Item {width:    text.width + 36 * 0.25height:   Math.max(text.height, 36)baselineOffset: text.baselineOffsetText {id:                 texttext:               "CheckBox"font.pixelSize:     30font.bold:          enabled ? true : falsefont.family:        "微软雅黑"color:              enabled ? "black" : "#6379A5"}}}onCheckedChanged: {console.log("CheckBox状态" + checkedState)_label.visible = !_label.visible}}Label{id:_labelanchors.top: _checkbox.bottomanchors.topMargin: 30anchors.horizontalCenter: parent.horizontalCentertext: "我是按钮状态显示"font.pixelSize: 30visible: false}
}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

centos7快速安装sqlserver2019

1、centos7节点安装sqlserver 1.1 下载官网的yum源 curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo1.2 yum安装sqlserver yum install -y mssql-server1.3 启动sqlserver服务,并配置密码、版…

PMP--入栏需看

文章目录 报名英文报名中文报名 备考第一步第二步 基础实践冲刺题库一模二模三模冲刺必刷分类常考易错 报名 英文报名 PMP–报名 中文报名 备考 第一步 PMP–学习计划 第二步 PMP–备考书籍说明 基础 PMP–知识卡片 PMP–敏捷Scrum PMP–计算–图示 PMP–计算–挣值分…

西门子PLC使用标签与威伦触摸屏通信

plc侧 创建项目,选择plc,并进行相关配置。创建db块db1,创建以下变量。 取消优化块的访问,不然会出错。在Main的OB块中输入以下程序。 将程序写入到plc中,至此,plc方面配置完成。 触摸屏侧 创建项目&…

前端vue3若依框架pnpm run dev启动报错

今天前端vue3若依框架pnpm run dev启动报错信息: > ruoyi3.8.8 dev D:\AYunShe\2024-11-6【无锡出门证】\wuxi-exit-permit-web > vite error when starting dev server: Error: listen EACCES: permission denied 0.0.0.0:80 at Server.setupListenHand…

基本查询【MySQL】

文章目录 基本查询插入时是否更新替换查询指定列查询查询字段为表达式为查询结果指定别名结果去重where条件NULL 的查询 结果排序筛选分页结果UpdateDelete截断表聚合函数分组(group by)having && where 基本查询 建表 mysql> create table Student (-> id int…

Spring:Bean(创建方式,抽象继承,工厂Bean,生命周期)

1,Bean的创建 1.1,调用构造器创建Bean 调用Bean类的无参构造函数来创造对象,因此要求提供无参构造函数。在这种情况下class元素是必须的,值就是Bean对象的实现类。 如果采用设值注入,Spring容器将使用默认的构造器来创…

Docker:镜像构建 DockerFile

Docker:镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中,大部分都是基础镜像,他们只提供某个简单的功能,如果想要一个功能更加丰富…

[SICTF Round4] PWN

这PWN题似乎是给我出的,4个一血1个2血。密码又过于简单。逆向太难了又不大会。 Stack fengshui main可以溢出覆盖rbpret所以它每一步都需要移栈。 可用的ROP里没有pop rdi,在4004c0里有错位的01 5d c3 :add DWORD PTR [rbp-0x3d], ebx 并且有对应的p…

Maven详解—(详解Maven,包括Maven依赖管理以及声明周期,Maven仓库、idea集成Maven)

文章目录 Maven详解一.初始Maven1.1 概述1.2 作用 二.Maven模型2.1 概述2.2 构建生命周期/阶段2.3 项目对象模型2.4 依赖管理模型 三.Maven仓库四.Maven安装4.1 下载4.2 安装步骤 五.Idea集成Maven Maven详解 一.初始Maven 1.1 概述 Maven是Apache旗下的一个开源项目&#x…

大腾智能荣获盐田区黄金珠宝产业“产业赋能数字化优选能力伙伴”荣誉

11月2日,盐田区黄金珠宝产业数智化转型促进中心(简称“促进中心”)揭牌仪式圆满举办。盐田区委书记李忠,市工业和信息化局、市市场监督管理局、华为技术有限公司等相关单位、企业负责人共同见证促进中心揭牌启动。 大腾智能也出席…

DevEco在设备上运行hap报错: Error message: The caller is not a system application

这是因为hap的运行权限不够,需增加权限 找到api目录 tools->SDK manager 查看项目使用的api版本 在文件目录下找到api 9,修改如下框中文件内容

2024-11-6----Android 11(全志713m)----- 关于添加 Selinux 权限

需求 节点: /sys/devices/platform/motor0/motor_ctrl上层 APP 使用 JNI 需要对该节点进行 echo 的操作,操作失败。 添加前的验证工作 adb 进去验证下,如下图所示: 发现权限不够。su 以后再操作是OK的,如下图&…

【蓝队技能】【溯源反制】反打红队-CS反打其他

蓝队技能 CS反打&其他 蓝队技能总结前言一、CS批量上线二、利用漏洞(CVE-2022-39197)三、CS的Server端破解四、旁站反制五、蜜罐反制六、邮件钓鱼反制七、其他反制技术 总结 前言 本文深入探讨了溯源反制中针对远程控制工具CobaltStrike的多种策略与…

linux下一个应用是如何被执行的

Linux系统下,一个应用从启动到执行main函数经历了什么: 加载器(loader):用户在终端启动一个程序时候,shell调用execve,执行程序的启动。内核态操作:execve做了以下几个事情&#xf…

cv.dnn.blobFromImage参数详解

例如: image cv.imread(imgs/img.png) blob cv.dnn.blobFromImage(image, scalefactor1.0, size(224, 224), mean(0, 0, 0), swapRBTrue, cropFalse) print("原始图像形状:", image.shape) print("Blob数据形状:", blob.shape)1. image 含义…

vscode 使用prettier格式化代码 在项目中增加.prettierrc文件,代码结尾不加分号,缩进使用两个空格

.prettierrc: {"tabWidth": 2,"useTabs": true,"semi": false,"singleQuote": false,"printWidth": 100,"trailingComma": "none" }

基于Spring Boot和Vue的电子商城系统功能设计

基于Spring Boot和Vue的电子商城系统功能设计 该系统是一个基于Spring Boot和Vue框架的电子商城平台,包含前台商城和后台管理系统。系统功能设计包括用户购物体验和管理员管理功能,支持商品的分类展示、收藏、购物车和订单管理等模块。以下是系统功能的简…

SpringBoot健身房管理系统:用户体验至上

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

ride安装后桌面没有快捷方式/打不开闪退?

我们在使用ride之前需要先使用pip命令下载安装python的一些必须库: pip install robotframework //或者使用豆瓣源下载: pip install i https://pypi.douban.com/simple robotframework //以上二选一,之后再下载ride: pip insta…

Hive操作库、操作表及数据仓库的简单介绍

数据仓库和数据库 数据库和数仓区别 数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别 操作型处理(数据库),叫联机事务处理OLTP(On-Line Transaction Processing),也可以称面向用户交易的处理系统,它是针对具体业务…