qml 进度条ProgressBar

  • 需要导入控件类
    import QtQuick.Controls 2.3
  • 属性
    from:(real,默认为0.0),范围的起始值
    to:(real,默认为1.0),范围的结束值
    value:(real,默认为0.0)
    indeterminate:(bool,默认为false)
    此属性保存进度条是否处于不确定模式,不确定模式下的进度条显示操作正在进行,但未显示已经进行了多少进度。
    position:(real)
    只读属性,控制进度条的逻辑位置,范围0.0-1.0
    visualPosition:(real)
    只读属性,控制进度条的视觉位置,范围0.0-1.0

在这里插入图片描述

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
//import QtQuick.Layouts 1.3

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("layout")
    color: "gray"

    Column{
            anchors.centerIn: parent
            anchors.margins: 50
            spacing: 50
            //进度条1
            ProgressBar{
                from: 0.0
                to:0.6
                value: 0.3
                width: 100
                height: 20
            }
            //进度条2
            ProgressBar{
                value: 0.1
                width: 100
                height: 2
                Timer{
                   interval: 1000
                   repeat: true
                   running: true
                   onTriggered: {
                        if(parent.value < 1.0){
                            parent.value += 0.1
                        }else{
                            stop()
                        }
                   }
                }
            }
            //进度条3
            ProgressBar{
                value: 0.2
                width: 100
                height: 20
                //当indeterminte设置为真实, ProcessBar变成了BusyIndicator了
                indeterminate: true
            }
            //进度条4
              ProgressBar{
                  id:control
                  value: 0.2
                  width: 100
                  height: 2
                  background: Rectangle {   //背景项
                      implicitWidth: control.width
                      implicitHeight: control.height
                      color: "orange"
                      radius: 3 //圆滑度
                  }

                  contentItem: Item {   //内容项
                      Rectangle {
                          width: control.visualPosition * control.width
                          height: control.height
                          radius: 2
                          color: "green"
                      }
                  }
               }
        }
}
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Qt QML 中的进度条可以通过 QMLProgressBar 组件来实现。进度条用于显示任务的进度,通常用于长时间运行的任务中,让用户了解任务的完成情况。 在 QML 中使用进度条,首先需要导入 QtQuick 控件库: ``` import QtQuick.Controls 2.12 ``` 然后可以在界面中加入一个 ProgressBar 组件: ``` ProgressBar { minimumValue: 0 // 进度条的最小值 maximumValue: 100 // 进度条的最大值 value: 50 // 当前的进度值 } ``` 在上面的例子中,我们设置了进度条的最小值为 0,最大值为 100,当前进度值为 50。 进度条还可以通过设置不同的属性来自定义样式,例如可以设置颜色、高度、方向等: ``` ProgressBar { width: 200 height: 20 progressColor: "blue" orientation: ProgressBar.Horizontal } ``` 在上面的例子中,我们设置了进度条的宽度为 200 像素,高度为 20 像素,进度条的颜色为蓝色,进度条的方向为水平方向。 进度条还可以通过绑定属性来动态更新进度值。例如,可以将进度条的值与后台任务的进度相关联,实时更新进度条的显示: ``` ProgressBar { id: progressBar value: backendTask.progress } SomeBackendTask { id: backendTask onProgressChanged: { progressBar.value = progress } } ``` 在上面的例子中,我们将进度条的值绑定到后台任务的 progress 属性,当后台任务的进度改变时,进度条的值也会相应地改变。 Qt QML 提供了丰富的功能和样式选项,可以根据实际需求进行进一步的定制和扩展。以上是关于如何在 Qt QML 中使用进度条的简单介绍。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值