qt-QtQuick笔记之常见项目类简要介绍
qt-QtQuick笔记之常见项目类简要介绍
code review!
文章目录
- qt-QtQuick笔记之常见项目类简要介绍
- 1.QQuickItem
- 2.QQuickRectangle
- 3.QQuickImage
- 4.QQuickText
- 5.QQuickBorderImage
- 6.QQuickTextInput
- 7.QQuickButton
- 8.QQuickSwitch
- 9.QQuickListView
- 10.QQuickGridView
- 11.QQuickPopup
- 12.QQuickFlickable
- 13.QQuickSlider
- 14.QQuickProgressBar
- 15.QQuickComboBox
- 16.QQuickToolBar
- 17.QQuickItemView
- 18.特殊自定义绘制控件: QQuickPaintedItem
- 19.汇总表格
Qt Quick 提供了多种 UI 项目类(
Item 类)来帮助开发者构建不同类型的用户界面元素。每个类都有独特的功能,能够灵活地定制应用的外观和行为。以下是一些常见的 Qt Quick 项目类的介绍,帮助你了解它们的用途和功能。
1.QQuickItem
- 简介:
QQuickItem是所有 Qt Quick 项目的基础类,提供了位置、大小、透明度等基础功能,但无法直接绘制内容。可以作为容器或自定义类的基类。 - 用途:作为基类或容器元素,用于自定义行为和属性。
2.QQuickRectangle
- 简介:表示一个矩形区域,常用来作为容器或视觉元素,支持背景颜色、边框、圆角等属性。
- 用途:用作基础矩形组件或自定义控件的基础。
Rectangle {width: 100height: 100color: "blue"
}
3.QQuickImage
- 简介:用于显示图像,支持加载本地文件、URL 或动态图像,可以控制缩放和平铺等属性。
- 用途:显示图标、背景图、照片等静态图像。
Image {source: "image.png"width: 100height: 100
}
4.QQuickText
- 简介:用于显示文本,支持字体、颜色、大小、对齐等样式设置。
- 用途:显示标签、按钮文本或任何文本内容。
Text {text: "Hello, World!"color: "black"font.pointSize: 24
}
5.QQuickBorderImage
- 简介:可以从图像中提取可伸缩的边框部分,适合用作容器或控件背景。
- 用途:用于背景或按钮等控件,支持可伸缩的边框和中心区域。
6.QQuickTextInput
- 简介:用于接收文本输入,支持键盘输入、文本编辑和光标控制。
- 用途:常用于文本框、搜索框等。
TextInput {width: 200placeholderText: "Enter your name"
}
7.QQuickButton
- 简介:标准按钮控件,支持点击、长按、启用/禁用等状态。
- 用途:创建按钮,常与文本或图标结合使用。
Button {text: "Click Me"onClicked: {console.log("Button clicked!")}
}
8.QQuickSwitch
- 简介:开关控件,用于切换布尔状态。
- 用途:用于二值选择,如“开启/关闭”功能。
Switch {onCheckedChanged: {console.log("Switch state: " + checked)}
}
9.QQuickListView
- 简介:支持滚动的列表视图,适用于动态数据展示,支持高效的项目显示和滚动。
- 用途:用于展示列表项,如联系人列表、新闻列表等。
ListView {width: 200height: 400model: ListModel {ListElement { name: "Item 1" }ListElement { name: "Item 2" }}delegate: Text {text: model.name}
}
10.QQuickGridView
- 简介:网格布局视图,用于按网格展示项目。
- 用途:常用于图标、照片库、文件管理器等展示。
11.QQuickPopup
- 简介:弹出控件,通常用于显示模态对话框或通知。
- 用途:弹出信息窗口或选择框。
12.QQuickFlickable
- 简介:支持滑动和滚动内容的控件,常作为列表、视图的基础。
- 用途:用于实现可以通过手势滚动的容器。
13.QQuickSlider
- 简介:滑动条控件,允许用户选择范围内的数值。
- 用途:用于控制音量、亮度等。
Slider {from: 0to: 100value: 50
}
14.QQuickProgressBar
- 简介:进度条控件,显示任务或进度的百分比。
- 用途:显示操作进度,如文件上传、下载等。
15.QQuickComboBox
- 简介:下拉列表控件,允许用户从选项中选择一个。
- 用途:用于选择框、菜单等。
ComboBox {model: ["Option 1", "Option 2", "Option 3"]
}
16.QQuickToolBar
- 简介:工具栏控件,通常用于显示操作按钮或菜单项。
- 用途:实现应用中的顶部或底部工具栏。
17.QQuickItemView
- 简介:基类,支持动态数据的可视化显示,作为
QQuickListView和QQuickGridView的基础类。 - 用途:数据驱动视图,显示数据集合。
18.特殊自定义绘制控件: QQuickPaintedItem
- 简介:继承自
QQuickItem,提供了自定义绘制的功能,可以通过重写paint()方法来绘制任意内容。 - 用途:用于自定义控件绘制,适用于图表、绘图应用等需要动态更新绘制的场景。
示例代码:
#include <QQuickPaintedItem>
#include <QPainter>class MyPaintedItem : public QQuickPaintedItem
{Q_OBJECTpublic:MyPaintedItem(QQuickItem *parent = nullptr) : QQuickPaintedItem(parent) {}void paint(QPainter *painter) override {painter->setBrush(Qt::red);painter->drawRect(0, 0, width(), height());}
};
在 QML 中使用:
import QtQuick 2.15
import QtQuick.Controls 2.15ApplicationWindow {visible: truewidth: 200height: 200MyPaintedItem {width: 100height: 100}
}
运行

19.汇总表格
| 类名 | 简介 | 用途 |
|---|---|---|
| QQuickItem | 基础项目类,提供基本位置、大小、透明度等功能 | 用于自定义行为和属性的基类 |
| QQuickRectangle | 矩形区域控件,支持背景颜色、边框、圆角等属性 | 用作矩形组件或自定义控件的基础 |
| QQuickImage | 显示图像,支持图像加载、缩放等 | 用于显示图标、背景图、照片等 |
| QQuickText | 显示文本,支持字体、颜色、大小、对齐等样式设置 | 显示文本内容,如标签、按钮文字等 |
| QQuickBorderImage | 从图像提取可伸缩的边框部分 | 用作容器或控件背景,支持可伸缩区域 |
| QQuickTextInput | 文本输入控件,支持键盘输入、文本编辑、光标控制 | 用于文本框、搜索框等 |
| QQuickButton | 标准按钮控件,支持点击、长按、启用/禁用状态 | 创建按钮控件 |
| QQuickSwitch | 开关控件,用于切换布尔状态 | 用于二值选择 |
| QQuickListView | 滚动列表视图,支持动态数据展示 | 展示联系人、新闻等列表 |
| QQuickGridView | 网格布局视图,按网格展示项目 | 图标、照片库、文件管理器等展示 |
| QQuickPopup | 弹出控件,显示模态对话框或通知 | 弹出信息窗口或选择框 |
| QQuickFlickable | 支持滑动和滚动内容的控件 | 实现滑动和滚动的容器 |
| QQuickSlider | 滑动条控件,选择范围内的数值 | 音量、亮度等控制 |
| QQuickProgressBar | 进度条控件,显示任务进度 | 显示操作进度 |
| QQuickComboBox | 下拉列表控件,选择一项 | 选择框、菜单等 |
| QQuickToolBar | 工具栏控件,显示操作按钮或菜单项 | 顶部或底部工具栏 |
| QQuickItemView | 数据驱动视图,支持动态数据可视化 | 显示数据集合 |
| QQuickPaintedItem | 自定义绘制项,提供绘制功能 | 用于自定义控件、图形或动画绘制 |
相关文章:
qt-QtQuick笔记之常见项目类简要介绍
qt-QtQuick笔记之常见项目类简要介绍 code review! 文章目录 qt-QtQuick笔记之常见项目类简要介绍1.QQuickItem2.QQuickRectangle3.QQuickImage4.QQuickText5.QQuickBorderImage6.QQuickTextInput7.QQuickButton8.QQuickSwitch9.QQuickListView10.QQuickGridView11.QQuickPopu…...
Continuous Batching 连续批处理
原始论文题目: Continuous Batching — ORCA: a distributed serving system for Transformer-based generative models 关键词: Continuous Batching, iteration-level scheduling, selective batching 1.迭代级调度(iteration-level scheduling) Orca系统又由几个关键…...
海外问卷调查渠道查如何设置:最佳实践+示例
随着经济全球化和一体化进程的加速,企业间的竞争日益加剧,为了获得更大的市场份额,对企业和品牌而言,了解受众群体的的需求、偏好和痛点才是走向成功的关键。而海外问卷调查才是获得受众群体痛点的关键,制作海外问卷调…...
把本地搭建的hexo博客部署到自己的服务器上
配置远程服务器的git 安装git 安装依赖工具包 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel安装编译工具 yum install -y gcc perl-ExtUtils-MakeMaker package下载git,也可以去官网下载了传到服务器上 wget https://www.ke…...
初阶数据结构:链表(二)
目录 一、前言 二、带头双向循环链表 1.带头双向循环链表的结构 (1)什么是带头? (2)什么是双向呢? (3)那什么是循环呢? 2.带头双向循环链表的实现 (1)节点结构 (2…...
postgresql根据主键ID字段分批删除表数据
生产环境针对大表的处理相对比较麻烦。 方案1、直接truncate,可能会遇到系统卡主的情况,因为truncate的过程中会对表进行加锁,会导致数据不能正常的写入 方案2、创建一个同结构的表结构,rename旧表,不停业务rename表担…...
10.business english-global market
eco-friendly case study: 案例学习 At the workshop工作坊, they agreed to emphasize eco-friendliness,adapt messageing, and boost digital marketing to stand out globally. Our study shows that more people want eco-friendly products in different places.Looks …...
C 语言实现计算一年中指定日期是第几天 题】
引言 在编程的世界里,处理日期和时间相关的问题是非常常见的。比如在日历应用、任务管理系统、数据分析等场景中,经常需要计算某个日期在一年中是第几天。本文将详细介绍如何使用 C 语言来实现这一功能,通过分析代码的结构、逻辑以及可能存在…...
深入理解三高架构:高可用性、高性能、高扩展性的最佳实践
引言 在现代互联网环境下,随着用户规模和业务需求的快速增长,系统架构的设计变得尤为重要。为了确保系统能够在高负载和复杂场景下稳定运行,"三高架构"(高可用性、高性能、高扩展性)成为技术架构设计中的核…...
【反悔堆】力扣1642. 可以到达的最远建筑
给你一个整数数组 heights ,表示建筑物的高度。另有一些砖块 bricks 和梯子 ladders 。 你从建筑物 0 开始旅程,不断向后面的建筑物移动,期间可能会用到砖块或梯子。 当从建筑物 i 移动到建筑物 i1(下标 从 0 开始 )…...
关于使用Mybatis-plus的TableNameHandler动态表名处理器实现分表业务的详细介绍
引言 随着互联网应用的快速发展,数据量呈爆炸式增长。传统的单表设计在面对海量数据时显得力不从心,容易出现性能瓶颈、查询效率低下等问题。为了提高数据库的扩展性和响应速度,分表(Sharding)成为了一种常见的解决方案…...
docker 安装 redis 详解
在平常的开发工作中,我们经常会用到 redis,那么 docker 下应该如何安装 redis 呢?简单来说:第一步:拉取redis镜像;第二步:设置 redis.conf 配置文件;第三步:编写 docker-…...
56. 合并区间
【题目】:56. 合并区间 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& intervals) {// 按照左端点排序sort(intervals.begin(), intervals.end(), [&](vector<int> lhs, vector<int> rhs)…...
BOM对象location与数组操作结合——查询串提取案例
BOM对象location与数组操作结合——查询串提取案例 前置知识 1. Location 对象 Location 对象是 JavaScript 提供的内置对象之一,它表示当前窗口或框架的 URL,并允许你通过它操作或获取 URL 的信息。可以通过 window.location 访问。 主要属性&#…...
Jetson Orin Nano Super之 onnxruntime 编译安装
Jetson Orin Nano Super之 onnxruntime 编译安装 1. 源由2. 步骤步骤一:安装3.26 cmake步骤二:下载代码步骤三:编译代码步骤四:找到安装包步骤五:安装whl包 3. 注意4. 参考资料 1. 源由 Build onnxruntime 1.19.2 fai…...
开发环境搭建-3:配置 nodejs 开发环境 (fnm+ node + pnpm)
在 WSL 环境中配置:WSL2 (2.3.26.0) Oracle Linux 8.7 官方镜像 node 官网:https://nodejs.org/zh-cn/download 点击【下载】,选择想要的 node 版本、操作系统、node 版本管理器、npm包管理器 根据下面代码提示依次执行对应代码即可 基本概…...
[SWPUCTF 2022 新生赛]js_sign
题目 查看页面源代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><style>body {background-color: rgb(255, 255, 255);}</style> </head> <body><input id"flag" /><button>Check…...
农业信息化的基本框架
农业信息化的主要研究内容 基于作物模型的相关研究 作物生长模拟模型以及模型评价、模型的应用作物模型应用,包括:作物生态系统过程、生产管理措施、区域作物产量评估与气候变化对产量影响预测、基于作物模型的决策支持系统 数据挖掘、知识工程及应用、管…...
OpenAI的真正对手?DeepSeek-R1如何用强化学习重构LLM能力边界——DeepSeek-R1论文精读
2025年1月20日,DeepSeek-R1 发布,并同步开源模型权重。截至目前,DeepSeek 发布的 iOS 应用甚至超越了 ChatGPT 的官方应用,直接登顶 AppStore。 DeepSeek-R1 一经发布,各种资讯已经铺天盖地,那就让我们一起…...
Vue 3 中的父子组件传值:详细示例与解析
在 Vue 3 中,父子组件之间的数据传递是一个常见的需求。父组件可以通过 props 将数据传递给子组件,而子组件可以通过 defineProps 接收这些数据。本文将详细介绍父子组件传值的使用方法,并通过优化后的代码示例演示如何实现。 1. 父子组件传值…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
