当前位置: 首页 > news >正文

Qt Quick - TabBar

Qt Quick - TabBar使用总结

  • 一、概述
  • 二、调整选项卡
  • 三、Flickable标签
  • 三、定制化

一、概述

TabBar其实就是选项卡,TabBar是由TabButton控件填充,TabBar可以与任何提供currentIndex属性的布局或容器控件一起使用,如StackLayout或SwipeView。TabBar其实只是一个导航控件,就类似于一组RadioButton用来切换一个一个的。TabBar并不和这个内容的容器一起绑定使用的,TabBar和Qt里面的QTabWidget不一样,QTabWidget是把那个导航和内容容器结合在一起的,而TabBar已经分离开这些逻辑啦,我们也可以用这个TabBar来当RadioButton用也未尝不可。

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.5Window {visible: truewidth: 640height: 480title: qsTr("Hello World")TabBar {id: barwidth: parent.widthTabButton {text: qsTr("Home")}TabButton {text: qsTr("Discover")}TabButton {text: qsTr("Activity")}}StackLayout {id:stackLayoutanchors.topMargin: 41anchors.fill: parentcurrentIndex: bar.currentIndexItem {id: homeTabText {id: homeLabelx: 308y: 196text: qsTr("home")anchors.verticalCenter: parent.verticalCenteranchors.horizontalCenter: parent.horizontalCenter}}Item {id: discoverTabText {id: discoverLabelx: 308y: 196text: qsTr("discover")anchors.verticalCenter: parent.verticalCenteranchors.horizontalCenter: parent.horizontalCenter}}Item {id: activityTabText {id: activityLabelx: 308y: 196text: qsTr("activity")anchors.verticalCenter: parent.verticalCenteranchors.horizontalCenter: parent.horizontalCenter}}}}

在这里插入图片描述

如上所示,TabBar通常用一组静态的选项卡按钮填充,这些选项卡按钮被内联定义为选项卡栏的子元素。还可以在运行时动态地添加、插入、移动和删除元素。可以使用itemAt()或contentChildren来访问元素项。

二、调整选项卡

默认情况下,TabBar调整其按钮大小以适应控件的宽度。可用空间平均分配给每个按钮。可以通过为按钮设置一个显式的宽度来覆盖默认的缩放行为。这个就会让Bar大小适应内容大小。
在这里插入图片描述

下面的例子演示了如何保持每个选项卡按钮的隐式大小,而不是调整大小以适应选项卡栏:

  TabBar {width: parent.widthTabButton {text: "First"width: implicitWidth}TabButton {text: "Second"width: implicitWidth}TabButton {text: "Third"width: implicitWidth}}

三、Flickable标签

如果按钮的总宽度超过了标签栏的可用宽度,它会自动变成可闪烁的。

TabBar {id: barwidth: parent.widthRepeater {model: ["First", "Second", "Third", "Fourth", "Fifth"]TabButton {text: modelDatawidth: Math.max(100, bar.width / 5)}}}

三、定制化

在这里插入图片描述
这个定制化其实就只是定制的TabBar的最外层的边框,内容还需要对 TabButton 美化

 import QtQuick 2.12import QtQuick.Controls 2.12TabBar {id: controlbackground: Rectangle {color: "#46a2da"}TabButton {text: qsTr("Home")}TabButton {text: qsTr("Discover")}TabButton {text: qsTr("Activity")}}

相关文章:

Qt Quick - TabBar

Qt Quick - TabBar使用总结 一、概述二、调整选项卡三、Flickable标签三、定制化 一、概述 TabBar其实就是选项卡,TabBar是由TabButton控件填充,TabBar可以与任何提供currentIndex属性的布局或容器控件一起使用,如StackLayout或SwipeView。T…...

ElasticSearch集群搭建

一、ElasticSearch 集群 1.1 搭建集群 Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错&…...

【pan-sharpening 攻击:目标检测】

Adversarial pan-sharpening attacks for object detection in remote sensing (对抗性泛锐化攻击在遥感目标检测中的应用) 全色锐化是遥感系统中最常用的技术之一,其目的是将纹理丰富的PAN图像和多光谱MS图像融合,以获得纹理丰…...

nginx反向代理_负载均衡的配置

说明 两台虚拟机: 88节点是自己的虚拟机 66节点是小组成员的虚拟机,我们暂且叫同学机 tomcat端口,分别为8081和8082 总结就是: 自己虚拟机上面安装nginx和tomcat8082 同学机上安装tomcat8081 一、开始安装nginx(只安装…...

程序员随时担心被抛弃......大厂外包值不值得去?

外包”这个词经常被人提及,而且也经常被我们所“鄙夷”,很多人都在四处问:“软件外包公司到底能不能去”? 外包公司到底能不能学到真正的技术? 外包大厂能不能去? 今天就给大家详细分享下外包的利与弊 做…...

C++解释器模式实战:从设计到应用的全面指南

目录标题 第一章:解释器模式简介(Introduction to the Interpreter Pattern)1.1 模式定义(Pattern Definition)1.2 解释器模式的用途(Uses of the Interpreter Pattern) 1.3 解释器模式的优缺点…...

使用华为云免费资源训练Paddle UIE模型

一、创建虚拟环境 好习惯,首先创建单独的运行环境 conda create -n uie python3.10.9 conda activate uie 二、安装paddle框架及paddlenlp 2.1 参考官方文档安装paddle 开始使用_飞桨-源于产业实践的开源深度学习平台 首先查看自己服务器cuda版本,…...

深度学习12. CNN经典网络 VGG16

深度学习12. CNN经典网络 VGG16 一、简介1. VGG 来源2. VGG分类3. 不同模型的参数数量4. 3x3卷积核的好处5. 关于学习率调度6. 批归一化 二、VGG16层分析1. 层划分2. 参数展开过程图解3. 参数传递示例4. VGG 16各层参数数量 三、代码分析1. VGG16模型定义2. 训练3. 测试 一、简…...

Doris(3):创建用户与创建数据库并赋予权限

Doris 采用 MySQL 协议进行通信,用户可通过 MySQL client 或者 MySQL JDBC连接到 Doris 集群。选择 MySQL client 版本时建议采用5.1 之后的版本,因为 5.1 之前不能支持长度超过 16 个字符的用户名。 1 创建用户 Root 用户登录与密码修改 Doris 内置 r…...

深入浅出 Golang 内存管理

了解内存管理~ 前言: 本节课主要介绍了内存管理知识与自动内存管理机制,并对目前 Go 内存管理过程中存在的问题提出了解决方案,同时结合了上次课程学习的《Go 语言性能优化》相关知识,提供可行性的优化建议 … 自动内存管理 Go…...

基于Python的简单40例和爬虫详细讲解(文末赠书)

目录 先来看看Python40例 学习Python容易坐牢? 介绍一下什么是爬虫 1、收集数据 2、爬虫调研 3、刷流量和秒杀 二、爬虫是如何工作的? 三、爬虫与SEO优化 什么是python爬虫 Python爬虫架构 最担心的问题 本期送书 随着人工智能以及大数据的兴起…...

Vector - CAPL - CAN x 总线信息获取(续2)

继续.... 目录 ErrorFrameCount -- 错误帧数量 代码示例 ErrorFrameRate -- 错误帧速率 代码示例 ExtendedFrameCount -- 扩展帧数量 代码示例 ExtendedFrameRate -- 扩展帧速率 代码示例 ExtendedRemoteFrameCount -- 远程扩展帧数量 代码示例 ExtendedRemoteFrameRa…...

C++基础知识【8】模板

目录 一、什么是C模板? 二、函数模板 三、类模板 四、模板特化 五、模板参数 六、可变模板参数 七、模板元编程 八、嵌套模板 九、注意事项 一、什么是C模板? C模板是C编程中非常重要的一部分,它允许程序员以一种通用的方式编写代码…...

MAC-安装Java环境、JDK配置、IDEA插件推荐

背景:发现经常换电脑装环境等比较麻烦,主要还是想记录一下,不要每次安装都到处翻。。 1、下载并安装JDK 到官网下载所需的JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 这儿下…...

Mysql如何避免常见的索引失效

Mysql索引算是非常常用了,用得好提高效率,用的不好适得其反 如何避免常见的索引失效 1.模糊查询 使用 LIKE 查询时,如果搜索表达式以通配符开头,如 %value,MySQL 就无法使用索引来加速查询,因为它无法倒序…...

SpringBoot集成Redis及问题解决

SpringBoot集成Redis 此篇文章为SpringBoot集成Redis的简单介绍,依赖、序列化操作、工具类都可以在后面的实操中直接搬运使用或者在此基础上进行改进使用 1、集成Redis 1.1、新建SpringBoot项目 新建项目这边就不一一介绍了,大家如果还有不会的可以自行…...

PyTorch 人工智能研讨会:6~7

原文:The Deep Learning with PyTorch Workshop 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心…...

AI绘图设计师Stable Diffusion成为生产力工具(五):放大并修复老照片、马赛克照片、身份证件照

S:你安装stable diffusion就是为了看小姐姐么? I :当然不是,当然是为了公司的发展谋出路~~ 预先学习: 安装webui《Windows安装Stable Diffusion WebUI及问题解决记录》。运行使用时问题《Windows使用Stable Diffusion时…...

cubase正版下载安装包-cubase正版下载v1.2.0.69 软件激活版

cubase正版下载是一款实用的音乐创作类软件。我们可以通过这款软件实现创作音乐的自由,再也不用花大价钱请别人来帮忙制作,只需自己动动手就可以轻松完成我们所想要的,这款软件做到了让每一位热爱音乐的人都可以实现自己的梦想。 cubase正版…...

Python机器学习:支持向量机

这是我读本科的时候第一个接触到的机器学习算法,但也是第一个听完就忘的。。。 他的基本思想很简单:想办法把一个样本集划成两个部分:对于空间中的样本点集合,我们找到一个超平面把这个样本点集合给分成两个部分,其中…...

支付系统架构设计:从交易核心到资金核算的稳定性实践

1. 支付系统总览:从业务到资金的桥梁但凡涉及在线交易的公司,支付系统都是其技术架构中当之无愧的“心脏”。它远不止是调用一个第三方支付接口那么简单,而是一套连接用户、业务、资金渠道和内部账务的复杂工程体系。一个设计得当的支付系统&…...

切削液防锈成分消耗机理、三类防锈剂参数与补加管控实测

一、防锈成分消耗核心机理物理消耗:工件表面携带(占比 35%)、切屑比表面积吸附(占比 40%);化学消耗:金属界面化学吸附(15%)、高温裂解(5%)、细菌降…...

地下水数值模拟中稳态与瞬态模型的构建机理及参数率定方法指南

概述在地下水流数值模拟(如基于有限差分法的 MODFLOW 平台)中,稳态(Steady-State)与瞬态(Transient)模拟是揭示地下水流场特征、评估水资源量以及预测流场演变的核心阶段。然而,在实…...

Microsoft大规模取消 Claude Code 授权,内部强制向 Copilot CLI 迁移

2.8 万行遗留系统重构实战 | Claude Code / Cursor / Copilot 横向对比最近AI Coding工具圈子直接打起来了。Microsoft开始大规模取消Claude Code授权,把内 部开发者往Copilot CLI上推(5月14日左右The Verge等媒体报道);几乎同时O…...

别再手动写上传了!用Layui Upload组件+PHP后端,10分钟搞定带进度条的文件上传功能

10分钟极速集成:Layui UploadPHP打造高体验文件上传模块 每次看到项目里又需要实现文件上传功能时,你是不是已经开始头疼那些重复的代码和调试过程?从进度条显示到文件类型校验,再到后端安全处理,每个环节都可能藏着意…...

基于Ollama与Streamlit的本地大模型智能对话应用snowChat部署指南

1. 项目概述:一个基于本地大模型的智能对话应用最近在折腾本地部署的大语言模型,发现了一个挺有意思的项目,叫snowChat。这名字听起来就挺“冷”的,但功能却很“热”——它本质上是一个让你能在自己电脑上,用本地的大模…...

【电动车】基于粒子群算法模拟光伏的电动车充电站(电池健康状况通过CRF、ECL和SoH来量化)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

【无人机路径规划】基于K-means 聚类和遗传算法实现多架无人机任务区域进行划分,并优化各区域内的访问路径附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

鸿蒙 HarmonyOS 6 | Pura X Max 鸿蒙原生适配 07:页面边距和最大内容宽度控制

前言 Pura X Max 展开态最容易出现的一类问题,是内容区域被直接撑满整屏。 列表页还能通过双列、三列解决一部分空间问题,阅读页、表单页、详情页就没这么简单了。标题、正文、输入框、说明文字一旦横向拉得太宽,用户读起来会很累。尤其是详情…...

基于Adafruit TRRS Trinkey构建低成本无障碍鼠标键盘模拟器与开关控制器

1. 项目概述:为无障碍交互打开一扇新窗在数字时代,鼠标和键盘是我们与计算机交互最直接的桥梁。然而,对于许多因运动神经元疾病、脊髓损伤、脑瘫或其他肢体障碍而无法使用传统输入设备的朋友来说,这座桥梁却显得遥不可及。作为一名…...