QML控件--DelayButton

文章目录

  • 一、控件基本信息
  • 二、控件使用
  • 三、属性
  • 四、信号

一、控件基本信息

Import Statement:import QtQuick.Controls 2.14
Since:Qt 5.9
Inherits:AbstractButton


二、控件使用

DelayButton是一个延时按钮,需要长按才能触发,这种延迟可以防止意外按压;

  • 当前进度表示为0.0到1.0之间的十进制值;
  • 激活触发所需的时间以毫秒为单位,可以使用delay属性进行设置;
  • 进度由按钮上的进度指示器指示;

QML控件--DelayButton_第1张图片

import QtQuick 2.10
import QtQuick.Window 2.10
import QtQuick.Controls 2.3

ApplicationWindow{
    visible: true;
    width: 1280;
    height: 720;

    property int count: 0

    Label{
        id: lbl;
        text: "未点击";
        font.bold: true;
        font.pixelSize: 28;
        anchors.centerIn: parent;
    }

    DelayButton{
        id: delayBtn;
        delay: 1000
        text: "PressAndHold";

        onActivated: {
            lbl.text = "已点击";
            timer.start();
        }
    }

    Timer {
        id: timer;
        interval: 2000;  //设置定时器定时时间2000ms(默认1000ms)
        repeat: false   //是否重复定时,默认为false
        running: false  //是否开启定时,默认是false,当为true的时候,进入此界面就开始定时
        triggeredOnStart: false     //是否开启定时就触发onTriggered,一些特殊用户可以用来设置初始值。
        onTriggered: {
            lbl.text = "未点击";  //定时触发槽,定时完成一次就进入一次
        }
        //restart ,start,stop,定时器的调用方式,顾名思义
    }

}

注意:按钮长按可以激发,然后再次点击即可复位,但是这个过程没有提供任何信号用来监听;


三、属性

  • delay:int 按钮激活延时时间(以毫秒为单位);
  • progress:real 进度指示器显示的当前进度,范围为0.0 - 1.0;
  • transition:Transition 在按下或释放按钮时应用于progress属性的转换

四、信号

  • activated() : 当进度达到1.0时,就会发出这个信号

你可能感兴趣的:(#,Qt,Quick,qt,开发语言)