关键词:
【中文标题】带圆角的 QT/QML 材质进度条【英文标题】:QT/QML Material ProgressBar with rounded corners 【发布时间】:2019-05-28 10:46:22 【问题描述】:我想拥有 Material 风格的 ProgressBar 组件,但要进行一些修改以使其高度可调。 到目前为止一切顺利,我得到了我想要的结果。
所以我只是将这段代码复制到 MyPb.qml 中以将其用作组件:
import QtQuick 2.11
import QtQuick.Templates 2.4 as T
import QtQuick.Controls.Material 2.4
import QtQuick.Controls.Material.impl 2.4
T.ProgressBar
id: control
property real radius: 3
contentItem: ProgressBarImpl
implicitHeight: control.height
scale: control.mirrored ? -1 : 1
color: control.Material.accentColor
progress: control.position
indeterminate: control.visible && control.indeterminate
background: Rectangle
implicitWidth: control.width
implicitHeight: control.height
radius: control.radius
color: Qt.rgba(control.Material.accentColor.r, control.Material.accentColor.g, control.Material.accentColor.b, 0.25)
为了举例,给出了这个结果:
附上代码:
Rectangle
width: 600
height: 300
color: "black"
MyPb
anchors.centerIn: parent
id: prg
width: 100
height: 20
indeterminate: false
radius: 5
visible: true
value: 0.5
由于 ProgressBarImpl 并不真正支持半径,圆角被“埋”在不透明的进度矩形下,如图所示(进度条左侧)。
现在,我不制作自己的进度条的原因是我也想要“不确定”动画。所以我以为会很多 重用 Qt 实现比开始自己制作更简单 动画。
所以我想知道是否有办法让 Material 进度条,但对其应用某种处理以在不确定 = false/true 的情况下获得圆角。
任何帮助将不胜感激!
【问题讨论】:
您使用的是什么版本的 Qt?我有很多。有时特定版本非常重要,有时则不重要,但我宁愿从正确的版本开始,以防万一。 :) @AshleyTharp 我正在使用 QT 5.11,但坦率地说,任何更新的版本都适合我(例如,如果它与 5.12 一起工作,我很乐意切换) 尝试将ProgressBar
的padding
属性设置为非零,并将contentItem
使用Rectangle
并将其半径设置为3。我上周实现了您想要的那个,但我没有现在没有它。
【参考方案1】:
请参阅 Qt 论坛中的以下帖子: https://forum.qt.io/topic/91649/make-a-round-progress-bar/7
那里提出的进度条由以下组件组成:
-
圆角矩形表示进度条的“波谷”
一个Item,作为一个矩形剪辑路径
该项目内的圆形矩形,用作彩色条
根据您的问题,我得到以下代码作为概念验证:
import QtQuick 2.9
Rectangle
property int percentage: 40
id: root
width: 400
height: 100
radius: height / 2
color: "#333"
Item
id: cliprect
anchors.bottom: parent.bottom
anchors.top: parent.top
anchors.left: parent.left
width: parent.width * parent.percentage / 100
clip: true
Rectangle
width: root.width
height: root.height
radius: height / 2
anchors.bottom: parent.bottom
anchors.left: parent.left
color: "#e33"
应该很容易将其移动到模板中/使其与材料属性兼容。
【讨论】:
【参考方案2】:您可以尝试使用background
项目作为掩码源在contentItem
上设置OpacityMask
。
如果这不起作用,创建一个进度条会更容易。毕竟它是一个非常琐碎且非交互的组件,使用界面很小。
【讨论】:
遗憾的是,我尝试了 OpacityMask 并且进度矩形(例如,当 value = 0.3 时宽度为 30% 的那个)没有显示,动画也没有显示。我不知道为什么。带圆角的 Android 圆形进度条
】带圆角的Android圆形进度条【英文标题】:Androidcircularprogressbarwithroundedcorners【发布时间】:2016-08-0623:37:54【问题描述】:我正在尝试获得一个带有圆角的圆形进度条,如下所示。但到目前为止,我无法获得圆角,我能够获得圆... 查看详情
带圆角的进度条?
】带圆角的进度条?【英文标题】:Progressbarwithroundedcorners?【发布时间】:2017-07-2713:25:35【问题描述】:我正在尝试实现这个进度条设计:我拥有的当前代码产生了这个:这是代码:<itemandroid:id="@android:id/background"><shape>... 查看详情
怎样用div实现带百分百环形进度条
...html5直接就可用css3的属性去做圆形,border-radius即可实现圆角。2、图片形式,左右两侧做圆角图片,衔接好,即可实现,但右侧的需要在技术时进行变化3、背景形式,做左右两侧背景色+圆角png透明背景,背景采用颜色填充即可... 查看详情
QT 5.7 QML 快速半透明矩形,一侧有圆角
】QT5.7QML快速半透明矩形,一侧有圆角【英文标题】:QT5.7QMLquicksemi-transparentrectangle,withroundedcornersononeside【发布时间】:2017-03-1406:02:28【问题描述】:我想要一个使用QtQuickQML的半透明矩形,但只有一侧有圆角。这是我想要的矩形... 查看详情
Angular - 材质:进度条自定义颜色?
】Angular-材质:进度条自定义颜色?【英文标题】:Angular-Material:Progressbarcustomcolor?【发布时间】:2018-07-2921:49:34【问题描述】:我现在尝试了几个小时。我使用Material2,只是想更改进度条的颜色。我知道有这些主题(主要/重音/... 查看详情
给 UISlider 进度条圆角 [Swift]
】给UISlider进度条圆角[Swift]【英文标题】:GiveUISliderprogressbarroundedcorners[Swift]【发布时间】:2020-07-0416:32:44【问题描述】:我想知道是否有人知道如何自定义UISlider以使进度条圆角(没有拇指图像),如下图所示:我想要什么:... 查看详情
微信小程序progress进度条内部圆角及内部条渐变色
参考技术A微信小程序progress进度条内部圆角及渐变色设置progressCSS:效果: 查看详情
带进度条的文件复制
】带进度条的文件复制【英文标题】:FileCopywithProgressBar【发布时间】:2011-08-2800:40:16【问题描述】:我使用了这个代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.IO;namespaceWindowsApplication 查看详情
带进度条的文件上传?
】带进度条的文件上传?【英文标题】:Fileuploaderwithprogressbar?【发布时间】:2011-09-1108:01:12【问题描述】:如何创建带有进度条的HTML/PHP/AJAX文件上传器?我不知道从哪里开始。【问题讨论】:【参考方案1】:我用过Uploadify。易... 查看详情
带 tqdm 的 asyncio aiohttp 进度条
】带tqdm的asyncioaiohttp进度条【英文标题】:asyncioaiohttpprogressbarwithtqdm【发布时间】:2016-06-1820:21:04【问题描述】:我正在尝试集成tqdm进度条来监控在Python3.5中使用aiohttp生成的POST请求。我有一个工作进度条,但似乎无法使用as_com... 查看详情
带线程的 PyQt 进度条更新
】带线程的PyQt进度条更新【英文标题】:PyQtProgressBarUpdatewithThreads【发布时间】:2017-08-0418:44:49【问题描述】:我一直在编写一个在服务器上运行远程脚本的程序。所以,我需要用一个栏显示进度,但是当我运行我的代码时,GUI... 查看详情
带 ProgressBar 的 CountDownTimer,重启应用时继续进度条
】带ProgressBar的CountDownTimer,重启应用时继续进度条【英文标题】:CountDownTimerwithProgressBar,continuingprogressbarwhenrestartingtheapp【发布时间】:2022-01-0922:32:13【问题描述】:我有一个显示CountdownTimer进度的ProgressBar。ProgressBar工作除了当... 查看详情
使用 Java 上传文件(带进度条)
】使用Java上传文件(带进度条)【英文标题】:FileUploadwithJava(withprogressbar)【发布时间】:2010-09-2006:17:55【问题描述】:我对Java非常陌生,而且我主要是边学边自学,所以我开始构建一个小程序。我想做一个可以从本地磁盘中... 查看详情
带有旋转图标的 Android 材质按钮
】带有旋转图标的Android材质按钮【英文标题】:Androidmaterialbuttonwithspinningicon【发布时间】:2022-01-1113:34:03【问题描述】:是否可以将旋转图标(如进度条)作为材质按钮图标?谢谢。【问题讨论】:【参考方案1】:您可以... 查看详情
springmvc带进度条的多文件上传
1、关于文件上传进度条的实现在说SpringMVC文件上传尤其是带滚动条之前先用servlet做一个简单的文件上传并返回进度信息这样的功能。(1)需要两个包:commons-fileupload-1.3.1.jarcommons-io-1.4.jar上面这两个包是Apache推出的... 查看详情
圆角矩形精度条(代码片段)
publicclassDownProgressBarextendsView/***注意:*1,整个精度条的宽度MaxProgress;*2,当前精度条的宽度currentProgress;*4,背景颜色*5,进度颜色*6,文字,文字颜色,大小**@paramcontext*/privateintmMaxProgress;privateintmProgress;privateintmBackgro 查看详情
markdown拉链带进度条(代码片段)
css3彩色进度条加载动画带进度百分比
在线演示 本地下载 查看详情