19.Quick QML-GroupBox自定义
GroupBox用来将子类的部件显示在其边框内部,并且一般默认左上有一个标题。
GroupBox不提供自己的布局.所以需要我们自己通过ColumnLayout或者其他布局方式来进行布局.
GroupBox的title属性用来设置要显示的标题内容,label属性则是用来设置标题的样式
接下来我们便来自定义一个GroupBox
首先创建DynamicGroupBox.qml文件.内容如下所示(qt5.12版本):
import QtQuick 2.0
import QtQuick.Controls 2.14
import QtGraphicalEffects 1.14
GroupBox {
property var radiusVal: 3 // 圆角值
property var borderWidth: 1 // 边框宽度
property var borderColor: "#97C4F5" // 边框颜色
property var titleColor: "#2359B7" // 标题颜色
property var titleLeftBkColor: "#C9DDF8" // 标题最左侧背景色
property var titleRightBkColor: "#F7FAFF" // 标题最右侧颜色
property var titleTopPadding: 3 // 标题的顶部内边距
property var contentBkColor: "#77F0F6FF" // 内容背景色
property var titleFontPixel: 16 id: control
title: qsTr("GroupBox") background: Rectangle {
anchors.fill: control
radius: radiusVal
border.color: borderColor
color: contentBkColor
clip: true
Item {
x: borderWidth
y: borderWidth
width: parent.width - borderWidth * 2
height: control.topPadding - control.bottomPadding - borderWidth * 2 + titleTopPadding * 2
clip: true Rectangle { // 设置标题的背景色
anchors.fill: parent
color: "#228833" LinearGradient {
anchors.fill: parent
source: parent
start: Qt.point(0, 0)
end: Qt.point(parent.width, 0)
gradient: Gradient {
GradientStop { position: 0.0; color: titleLeftBkColor }
GradientStop { position: 1.0; color: titleRightBkColor }
}
}
}
}
} label: Label { // 设置title的属性
y: titleTopPadding + 3
x: control.leftPadding
width: control.availableWidth
text: control.title
color: titleColor
elide: Text.ElideRight
font.family: "Microsoft Yahei"
font.pixelSize: titleFontPixel } }
然后我们在main.qml中使用它
import QtQuick 2.2
import QtQuick.Window 2.0
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.14
Window {
visible: true;
width: 400
height: 300 DynamicGroupBox {
anchors.centerIn: parent
title: "详细查询" ColumnLayout {
anchors.fill: parent
CheckBox { text: qsTr("按价格查询") }
CheckBox { text: qsTr("按时间查询") }
CheckBox { text: qsTr("按日期查询") }
}
width: 200
} }
效果如下所示:

19.Quick QML-GroupBox自定义的更多相关文章
- qml实现自定义标题栏按钮
自定义的标题栏按钮是由Rectangle来实现的,在Rectangle中需要4张图片,分别在鼠标进入按钮区.鼠标离开按钮区(正常状态下).鼠标按下和鼠标释放时所加载的图片.下面是实现自定义按钮的代码( ...
- QT QML 在qml中自定义信号
服从真理,就能征服一切事物. -- 塞涅卡 实例: 自定义文件 MoveYou.qml: import QtQuick 2.5 import QtQuick.Controls 1.4 import Q ...
- Qt Quick QMl学习笔记 之图片浏览器
Qt Quick模块是编写QML应用程序的标准库.虽然Qt QML模块提供QML引擎和语言基础结构,但Qt Quick模块提供了使用QML创建用户界面所需的所有基本类型.它提供了一个可视画布,包括用于 ...
- 解读QML之一
http://cache.baiducontent.com/c?m=9d78d513d98002b8599dcb201a17a7374408c6347691c4523f8a9c12d522195646 ...
- 漫谈QML
漫谈 QML/Qt Quick QML是从Qt 4.7开始引入的,QML是一种声明语言,使得可以像设计师思考的一样编码,并且Qt Quick元素就是应用程序的编译单元,每一帧的故事板被声明为元素树中的 ...
- QML——添加自定义模块
一.模块的定义 在使用QML时,我们常常看到类似这样的语句: import QtQuick 2.0 import QtSensors 5.0 通过这些import语句,我们就能使用QML中的相关控件了 ...
- 一文入门Qt Quick
以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16733091.html 初识Qt Quick 很高兴可以 ...
- 毕向东_Java基础视频教程第19天_IO流(11~14)
第19天-11-IO流(字节流File读写操作) import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...
- 富文本编辑器UEditor自定义工具栏(一、基础配置与字体、背景色、行间距、超链接实现)
导读:UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,功能强大,可定制,是一款优秀的国产在线富文本编辑器,编辑器内可插入图片.音频.视频等. 一.UEditor自定义 ...
随机推荐
- P1422小玉家的电费(JAVA语言)
package 顺序与分支; /* * 题目描述 夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了. 小玉家今天收到了一份电费通知单.小玉看到上面写:据闽价电[2006]27号规定, 月 ...
- Android Studio 之 制作 Nine-Patch 图片(.9图片)
•引言 9.png 可以保证图片在合适的位置进行局部拉伸,避免了图片全局缩放造成的图片变形问题. 但是由于Android Studio对于.9图片的检查更加严格,所以不符合AS要求的.9图片会带来很多 ...
- Web安全(更新中)
sql注入 创建一个数据库 create database admin1; 查询数据库 查看所有数据库 show databases; 使用该数据库 use admin1; 创建一个表 创建一个 ...
- 单链表c语言实现的形式
包括初始化,创建,查询,长度,删除,清空,销毁等操作 代码如下: #include<stdio.h> #include<stdlib.h> //定义单链表的数据类型 typed ...
- 201871030106-陈鑫莲 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 1.学会结对学习,体会结对学习的快乐2.了解并实践结对编程 3.加深对D{0-1}问题的解法的理解4.复习并熟悉P ...
- OO_Unit 3 JML规格化设计总结
OO_Unit 3 JML规格化设计总结 JML语言概述(Level 0) 概念定义 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言.JML ...
- vscode(Visual Studio Code)中安装Debugger for Chrome插件调试页面
最近换了下编辑器,改用vscode(Visual Studio Code),很喜欢它左边显示的文件路径,轻松新建文件夹和文件,也喜欢它的编码转换功能,gbk和utf-8可以随时切换,因为公司网站有些页 ...
- OrchardCore 如何动态加载模块?
前言 今天,我们再次讨论下OrchardCore,通过初期调研,我们项目采用OrchardCore底层设施支持模块化,同时根据业务场景,额外还需支持二次开发,于是有了本文,若有不同解决方案,欢迎留言探 ...
- JAP 1.0.1 以及 《JAP产品技术白皮书》正式发布
快讯 JAP 1.0.1 正式发布 <JAP产品技术白皮书>正式发布.立即获取:白皮书 JAP 1.0.1 版本内容 新增功能/支持 添加 com.fujieid.jap.core.uti ...
- JAVAEE_Servlet_14_HttpServletRequest接口以及常用方法(一)
HttpServletRequest接口 * javax.servlet.http.HttpServletRequest 接口 * 继承关系 HttpServletRequest---继承---> ...