第三代软件开发-CheckBox

简介: 欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资

头图

第三代软件开发-CheckBox

[toc]

关键字: QtQmlCheckBoxindicatorcontentItem

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏在第三代软开发更新完将涨价

CheckBox

老规矩,接着看官方文档咋说

CheckBox presents an option button that can be toggled on (checked) or off (unchecked). Check boxes are typically used to select one or more options from a set of options. For larger sets of options, such as those in a list, consider using CheckDelegate instead.

CheckBox 提供一个选项按钮,可以打开(选中)或关闭(取消选中)。 复选框通常用于从一组选项中选择一个或多个选项。 对于较大的选项集(例如列表中的选项),请考虑使用 CheckDelegate。

Qt CheckBox(复选框)是Qt框架中的一个控件,它提供了一种用户可以选择或取消选择一个或多个选项的功能。每个CheckBox都有一个相关联的标签,用于描述选项的内容。

Qt CheckBox的特点如下:

可以同时选择多个选项:与单选按钮(RadioButton)不同,CheckBox可以同时选择多个选项。

选中状态可视化:CheckBox提供了选中和未选中两种状态的可视化,用户可以通过勾选或取消勾选来改变选项的状态。

信号槽机制:CheckBox可以发出信号来响应用户的操作,开发者可以连接这些信号与其他功能进行交互。

灵活的布局和自定义:CheckBox可以与其他控件进行灵活的布局,开发者可以自定义CheckBox的样式和外观。

适用于各种数据类型:CheckBox不仅可以显示文本选项,还可以显示其他类型的数据,例如图像、颜色等。

实际使用

CheckBox使用其实很简单,

CheckBox {
         checked: true
         text: qsTr("First")
     }

重点还是样式很烦人,看下官方代码

 import QtQuick 2.12
 import QtQuick.Controls 2.12

 CheckBox {
     id: control
     text: qsTr("CheckBox")
     checked: true

     indicator: Rectangle {
         implicitWidth: 26
         implicitHeight: 26
         x: control.leftPadding
         y: parent.height / 2 - height / 2
         radius: 3
         border.color: control.down ? "#17a81a" : "#21be2b"

         Rectangle {
             width: 14
             height: 14
             x: 6
             y: 6
             radius: 2
             color: control.down ? "#17a81a" : "#21be2b"
             visible: control.checked
         }
     }

     contentItem: Text {
         text: control.text
         font: control.font
         opacity: enabled ? 1.0 : 0.3
         color: control.down ? "#17a81a" : "#21be2b"
         verticalAlignment: Text.AlignVCenter
         leftPadding: control.indicator.width + control.spacing
     }
 }

看看我项目中的代码:

CheckBox
{
    id:chechbox_remberSelect
    anchors.left: layout_changePassword.left
    anchors.top: layout_changePassword.bottom
    anchors.topMargin: 15
    text: "下次不再提示"
    font.pixelSize: 15
    checked:UserProfile.adminHint
    indicator: Rectangle {
        implicitWidth: 18
        implicitHeight: 18
        x: chechbox_remberSelect.leftPadding
        y: parent.height / 2 - height / 2
        radius: parent.height / 2
        color: "transparent"
        border.color: "#2DAAE1"
        Rectangle {
            width: 10
            height: 10
            x: 4
            y: 4
            radius: 5
            color: "#2DAAE1"
            visible: chechbox_remberSelect.checked
        }
    }
    contentItem: Text {
        text: chechbox_remberSelect.text
        font: chechbox_remberSelect.font
        opacity: enabled ? 1.0 : 0.3
        color: "#FEFEFE"
        verticalAlignment: Text.AlignVCenter
        leftPadding: chechbox_remberSelect.indicator.width + chechbox_remberSelect.spacing
    }
    onClicked: UserProfile.adminHint = checked
}

效果如下:

image-20230729104751612


博客签名2021

相关文章
|
编解码 安全 iOS开发
如何将ISO转换为MP4格式
将 ISO 文件转换为 MP4 格式,可以更方便地保存和在常用设备上播放。这里有 8 款适用于 Windows 和 Mac 的最佳软件程序,可用于将 ISO 文件转换为数字格式,以便在任何设备上欣赏您的视频。
|
存储 JavaScript 前端开发
qml var类型详解
qml var类型详解
302 1
|
算法 数据可视化 前端开发
第三代软件开发-QCustomPlot核心迁移
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
|
10月前
|
人工智能 数据可视化 数据挖掘
【产品】G 端产品经理
G端产品经理在政府数字化转型中扮演着关键角色,连接政府需求与技术实现。他们负责挖掘需求、规划方案、推动跨部门协作,并监督项目进展。具体职责包括需求调研、产品规划与设计、原型制作、文档撰写及交互与视觉设计等。面对复杂多变的需求、快速更新的技术和严格的项目验收,G端产品经理需不断提升专业技能,以适应挑战并推动政府治理体系现代化。
|
11月前
|
存储 Java API
开源对象存储服务(MinIO),正在备受欢迎!
本文介绍了MinIO,一个高性能、开源的对象存储服务器,兼容Amazon S3 API,适合存储大量非结构化数据。文章详细讲解了MinIO在Java中的使用方法,包括添加依赖、初始化客户端、基本操作(创建桶、上传/下载/删除对象)和高级功能(设置桶策略、使用预签名URL),并提供了Spring Boot集成MinIO的示例。
985 4
|
12月前
|
Python
python知识点100篇系列(14)-分割大文件然后在合并
【10月更文挑战第2天】在工作中,因邮件附件大小限制或网络条件不佳,常需将大文件分割为小文件发送,接收后再合并。Python的文件读写功能可轻松实现此需求,也可借助第三方库filesplit简化操作。安装filesplit后,仅需几行代码即可完成文件的分割与合并,但掌握Python内置方法同样重要。
200 0
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
356 0
qml 正则表达式的使用
qml 正则表达式的使用
143 0
|
前端开发 JavaScript
在Vue中,如何使用CSS过渡和动画来实现淡入淡出的效果?
在Vue中,如何使用CSS过渡和动画来实现淡入淡出的效果?
799 1