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自定义 ...
随机推荐
- 网易云信 QUIC 加速服务架构与实践
导语:网易云信作为音视频服务提供商的领导者,一直致力于提供顶级的音视频通话服务体验,为用户在各种恶劣环境下提供可靠的音视频服务.如何在极端弱网条件下仍然能给用户提供可靠的音视频服务,是网易云信关注的重 ...
- c/c++ switch case内括号
如果在case语句中有定义变量,则必须要加{},否则会报错.
- net core 中间件和管道
1.中间件 是处理请求和响应的组件(代码段,一段处理逻辑),这个处理逻辑是以"前一个请求处理逻辑"为输入,并经过中间件自己的处理后,返回一个"新的请求处理逻辑" ...
- Python基础之数据类型详解
为什么会有数据类型? 在介绍具体的数据类型之前,需要了解为什么需要区分数据类型.我们知道,一个公司会有很多个大的部门,每个部门下又会有许多细分的小部门,构成了公司的完整体系结构.如果把python的数 ...
- Java基础回顾_第二部分_Java流程控制
Java基础回顾_第二部分 Java流程控制 Scanner对象(扫描器,捕获输入) import java.util.Scanner; public class Demo01 { public st ...
- 灵雀云Istio技术实践专题整理
Istio技术实践专题(1) Service Mesh Istio 基本概念和架构基础 Istio被称作Kubernetes的最佳云原生拍档.从今天起,我们推出"Istio技术实践" ...
- [hash-bfs]USACO 3.2 Magic Squares 魔板
魔 板 魔板 魔板 题目描述 在成功地发明了魔方之后,拉比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色 ...
- Unity2D项目-平台、解谜、战斗! 1.1战斗底层组件CanFight-CanBeFighted
各位看官老爷们,这里是RuaiRuai工作室,一个做单机游戏的兴趣作坊. 本文对该2D项目中战斗底层组件的开发及设计思路做一个总结,希望各路同行多多交流,各路大佬多多指点. 实例特征分析 首先对于各个 ...
- 呵呵,Semaphore,就这?
这是并发线程工具类的第二篇文章,在第一篇中,我们分析过 CountDownLatch 的相关内容,你可以参考 一文搞懂 CountDownLatch 用法和源码! 那么本篇文章我们继续来和你聊聊并发工 ...
- 将 Python 打包的 exe 进行反编译
Python 打包成 exe 之后,是否能从二进制文件中恢复出源代码?没有加密的话是可以的. 首先需要解包. 直接从 github 上下载就行:https://github.com/counterce ...