在 Qml 中,矩形(Rectangle)是最常用的元素之一。 然而,标准的矩形元素仅允许设置统一的圆角半径。 在实际开发中,我们经常需要更灵活的圆角设置,例如只对某些角进行圆角处理,或者设置不同角的圆角半径。 本文将介绍如何通过自定义 Qml 元素实现一个任意角可为圆角的矩形。
毛玻璃效果(Acrylic Effect)是一种常见的 UI 设计风格,它通过模糊背景并添加透明度和噪声效果,使界面元素看起来像是半透明的磨砂玻璃。 本文将介绍如何使用 Qml 实现这种效果,并提供一个完整的示例代码。
【写在前面】 在 Qt 的 Quick 模块中,QQuickPaintedItem 是一个非常有用的类,它允许我们在 Qml 中自定义绘制逻辑。 我们可以通过这种方式实现水印工具,包括在文本、图片或整个窗口上添加水印。 本文将介绍如何在 Qml 中实现一个简单但功能强大的水印工具,包括水印文本的透明度、颜色、字体大小、旋转角度等自定义功能。 【正文开始】 一、效果图 二、水印工具类的设计 首先
在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观。 Qt 作为一个跨平台的C++图形用户界面应用程序开发框架,提供了丰富的工具和类来实现这一功能。
【写在前面】 最近在写信息提交 ( 表单 ) 的窗口时发现一个奇怪的 BUG: 其代码如下: import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Window 2.15 Window { width: 640 height: 480 visible: true title: qsTr(
【写在前面】 CMake 的生成器表达式用于在构建系统级别上进行条件判断和逻辑运算,它们通常用在目标属性和生成器表达式上下文中。这些表达式允许你根据不同的平台、配置或编译器来定制构建过程。 本文引用的文档链接: cmake 生成器表达式 (7) — CMake 3.26.4 Documentation 【正文开始】 本篇文章将介绍《条件表达式》和《逻辑运算符》。 条件表达式: 生成器表达式的
CMake 的全局属性是指在 CMake 配置过程中,对整个项目范围生效的设置。 这些属性不同于目标 ( Target ) 属性或目录 ( Directory ) 属性,后者仅对特定的目标或目录生效。
CMake 可以通过属性来存储信息。它就像是一个变量,但它被附加到一些其他的实体上,像是一个目录或者是一个目标。例如一个全局的属性可以是一个有用的非缓存的全局变量。 在 CMake 的众多属性中,目标属性 ( Target Properties ) 扮演着尤为重要的角色,它们直接关联到最终生成的可执行文件、库文件等构建产物。 更直观一点,如果把目标类比为 类 ( Class ),那么目标属性则类似 类成员 ( Class Member )。
【写在前面】 在现代应用程序中,星级评分是一个常见的用户界面元素,它允许用户对产品、服务或内容进行评价。 想必大家在用各种带有评分的软件中看到过这个组件: 本文将指导你如何使用 Qml 创建一个简单而美观的星级评分组件,并且支持高度自定义。 【正文开始】 先来看看效果图: 现在开始讲解思路: 首先,我们需要考虑半星的情况,因此可以分为三个部分: 1、红色部分:满填充星星【fillDel
【写在前面】 最近看到一个非常有趣的动画效果:水波进度动画。 学习了一下实现思路,觉得很有意思。 不过原版是 HTML + CSS,我这里用的是 Qml,有一些小技巧,分享给大家~ 【正文开始】 老样子,先来看看效果图: 最基础的无非就是四个部分: 1、圆形水缸 2、水波 3、百分比数字 4、进度条 水波效果最重点的就是水波,其实这个水波就是个障眼法罢了,画张图你们就明白了。 它就是一个圆角正
【写在前面】 经常接触前端的朋友应该经常见到下面的控件: 在前端中一般称它为 Notification 或 Message,但本质是一种东西,即:悬浮弹出式的消息提醒框。 这种组件一般具有以下特点: 1、全局/局部显示:它不依赖于具体的页面元素,可以在整个页面的任意位置显示。 2、自动消失:默认情况下,消息会在一定时间后自动消失,也可以设置为不自动消失。 3、多种类型:支持多种类型的消息,如成
【写在前面】 最近在刷掘金的时候看到一篇关于瀑布流布局的文章,然鹅他们的实现都是前端的那套,就想着 Qml 有没有类似实现。 结果百度了一圈也没有( T_T Qml 凉了凉了 ),于是,我按照自己理解,简单实现了一个 Qml 版的瀑布流布局。 关于瀑布流: 瀑布流布局(Waterfall Layout),也被称为瀑布式布局或多栏自适应布局,是一种网页布局技术,它允许内容以多列的形式显示,类似于
我们在 Qml 中经常会遇到这样的情况: 有某个 Item ( 这里称为 Parent ),需要它在鼠标 `Enter` 时显示,鼠标 `Exit` 时隐藏。 这时候我们会用一个 MouseArea,然后处理 `onEntered / onExited`。 但是,有一个巨大的坑: 如果这个 Item 里嵌入了其他 Item ( 这里称为 `Child` ) 并且处理自己的 MouseArea,则会导致 `Parent Item` 的 MouseArea 失效 ( 即不能接收到相应的事件 )。
最近在 Qml 中使用 MouseArea 时发现了一个奇怪的现象:位于 MouseArea 上的 ListView 在处理了滚轮事件的情况下进行滚轮,下面的 MouseArea 却在某些情况下接收到了这个事件。按照直觉,ListView 明明有内部的滚轮事件处理
在 Qt 中,对于一个键盘事件QKeyEvent ,通常包含三种键值: key:Qt 键值,例如 Qt::Key_Escape。 nativeVirtualKey:本机虚拟键值,例如 VK_ESCAPE ( windows )。 nativeScanCode:本机扫描码。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号