96SEO 2026-09-05 22:59 10
在 Qt Quick 应用中。ProgressBar 的默认样式往往显得过于简陋,放进自己的界面里总会让人觉得“差点意思”。如果你也遇到了这样的痛点——想要更酷的胶囊形、主题色、甚至不确定状态的动画——下面这三种实现方式会帮你尽快处理。
完全不依赖官方控件。用两个 Rectangle 就能绘制出胶囊外观、居中百分比,并通过滑块实时跟随。

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
FadeInAnimation {
ColumnLayout {
anchors.fill: parent
anchors.margins: 20
spacing: 10
// 胶囊形进度条
Rectangle {
至于id,control
Layout.fillWidth: true
说到height。30
property int minimum: 0
property int maximum: 100
property int value: slider.value
border.color: "#ccc"
至于radius,height / 2
再看clip,true
Rectangle { // 填充层
说到width,) /
height的观点是,parent.height
说到radius,height / 2
再看color,"#ff9800"
Behavior on width { SmoodAnimation { velocity: 200 } }
anchors { left: parent.left;不过,top: parent.top;bottom: parent.bottom;margins: 1 }
}
Text { // 百分比文字
anchors.centerIn: control
至于color,"#333"
font.bold:true
text的观点是。"" + Math.floor / * 100) + "%"
}
}
Slider { // 控制滑块调节进度值
id : slider
Layout.fillWidth:true
from : control.minimum;to : control.maximum;value : control.value;}
Text {
说到text,"进度值:" + control.value;}
Item { Layout.fillHeight:true }
}
}
) / radius = height / 2SmoodAnimation 在拖动滑块时让填充宽度平滑过渡。
若你想快速获得 Material 风格细条并支持不确定模式,可直接利用官方内部组件 ProgressBarImpl
import QtQuick
import QtQuick.Controls
import QtQuick.Controls.Material
import QtQuick.Controls.Material.impl
import QtQuick.Layouts
FadeInAnimation {
ColumnLayout {
anchors.fill : parent
anchors.margins :20
spacing :10
ProgressBar {
id : control
Layout.fillWidth:true
value : slider.value
contentItem : ProgressBarImpl{
implicitHeight :4
scale : control.mirrored?-1 :1
color : control.Material.accentColor
progress : control.position
indeterminate :!,}
background : Rectangle{
y :/2
implicitHeight :4
color :"rgba+ "。"+ Math.round+ ","+ Math.round+ ",0.12)"
}
}
Slider{
id :slider
from :-100;to:+100,value:+50;}
Switch{
text的观点是,"开启不确定模式"
checked :)
onClicked:{control.indeterminate=!control.indeterminate;}
}
Item{Layout.fillHeight:true}
}
}
{color,progress。indeterminate}."正在加载…" 时显示具体百分比反而尴尬。这时可以用一张斜纹蒙版图在整块上平铺滚动,实现经典的不确定动画效果。怎么说呢,
import QtQuick
import QtQuick.Controls.Basic
import QtQuick.Controls.impl
import QtQuick.Layouts
FadeInAnimation{
ColumnLayout{
anchors.fill :parent;anchors.margins =20;按理说,spacing=10
ProgressBar{
id :control;Layout.fillWidth:true;height=6,value=slider.value
contentItem:item{scale:;Rectangle{height:p.height;
width:*p.width;radius:p.height/2;border.color:"#ccc";color:"#1296ff"}
从Item{x来看,;y:p.height/4;width:p.width;height:p.height-10;visible:),clip:true;ColorImage{width:+1)*implicitWidth;height:p.height;mirror:c.mirrored?按理说,true:false;不过,fillMode:image.TileHorizontally;source:"/images/progressmask.png";color:"rgba.r*255)+","+Math.round.g*255)+"。"+Math.round.b*255)+",0.12)";NumberAnimation on x{running:;from:-implicitWidth;to:,loops:-1;duration=800} }}
}
background:{
说到radius,p.height/2;color:"#fff";border.color:"#ccc"}
}
Switch{text:"开启不确定模式";checked:),onClicked:{c.indeterminate=!c.indeterminate;}}
Item{Layout.fillHeight:true}
}
}
| 样式类型 | 实现方式 | 适合场景 |
|---|
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback